原因分析
PyCharm 中出现这个提示是因为我使用 paramiko 2.x 版本来执行的,而Transport 类在 version 2.x 中已经被废弃了, 建议使用 SSHClient 代替
背景简介
transport.set_missing_host_key_policy(paramiko.AutoAddPolicy())方法的作用是自动添加主机密钥。在 SSH 连接时,通常会使用 known_hosts 文件来存储已知的主机密钥。如果本地 known_hosts 文件中不存在主机密钥,则会弹出一个警告,询问用户是否继续连接。如果用户选择继续连接,则会将主机密钥添加到 known_hosts 文件中。
使用 transport.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 方法可以跳过这个提示,自动添加主机密钥。
这个方法应该写在连接时,在 transport 初始化之前.例如, 在下面的代码片段中:
transport = paramiko.Transport( (hostname, port) )
transport.set_missing_host_key_policy(paramiko.AutoAddPolicy())
transport.connect(username=username, password=password)
在 paramiko 2.x 版本中,Transport 类被废弃了,那我们使用 SSHClient 来代替
用法上和 Transport 基本类似, 下面是一个简单的例子:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='your_host', port

文章介绍了在PyCharm中使用paramiko库时,由于Transport类在2.x版本被废弃,应改用SSHClient。SSHClient提供了相似的功能,如set_missing_host_key_policy方法来自动添加主机密钥,并展示了如何使用SSHClient进行连接和执行命令。此外,还提到SSHClient有更多可用方法,建议查阅官方文档了解详情。
最低0.47元/天 解锁文章
1612

被折叠的 条评论
为什么被折叠?



