我知道使用Paramiko的SSHClient类,您可以像这样设置轻松的缺少主机 key 策略:

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

但是,我正在通过SFTP(而不是SSHClient)打开文件流,如下所示:
t = paramiko.Transport((process['hostname'], 22))
keyfile = paramiko.DSSKey.from_private_key_file('./id_dsa')
t.connect(username = 'user', pkey = keyfile)
sftp = paramiko.SFTPClient.from_transport(t)

我在文档中找不到用于通过传输或SFTPClient设置缺少主机 key 策略的任何内容。

有什么方法可以使用SFTPClient实现相同的目的吗?

干杯,
胜利者

最佳答案

可以使用open_sftp()从SSH客户端获取SFTP客户端。

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

sftp = ssh.open_sftp()
sftp.get('remotefile', 'localfile')

虽然我还没有测试过。

关于python - Paramiko SFTPClient-设置缺少主机 key 策略?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13851846/

10-14 19:28