我知道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有没有办法实现同样的目的?
干杯, 维克多
答案 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')
虽然我没有测试过这个。