2012-12-13 28 views
4

我知道用的paramiko的SSHClient類,你可以設置一個輕鬆缺少主機密鑰的政策,像這樣:Paramiko SFTPClient - 設置丟失的主機密鑰策略?

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實現同樣的事情嗎?

乾杯, 維克多

回答

6

人們可以通過使用open_sftp從SSH客戶端獲取SFTP客戶端()。

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

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

雖然我沒有測試過這個。