5

我知道使用 Paramiko 的 SSHClient 类,您可以设置一个宽松的缺少主机密钥策略,如下所示:

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)

我无法在文档中找到通过 Transport 或 SFTPClient 设置丢失主机密钥策略的任何内容。

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

干杯,维克多

4

1 回答 1

10

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

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

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

虽然我没有测试过这个。

于 2012-12-13T02:29:05.603 回答