Paramiko SFTPClient - 设置丢失的主机密钥策略?

时间:2012-12-13 02:09:55

标签: python ssh paramiko

我知道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有没有办法实现同样的目的?

干杯, 维克多

1 个答案:

答案 0 :(得分:8)

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

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

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

虽然我没有测试过这个。