2014-10-11 46 views
0

當我SFTP發佈到服務器使用此命令在Linux操作系統Ubuntu:子和調用SFTP命令

sftp -b /path/sftp_put [email protected] 

它的行爲正確,但在使用時調用我的Python項目,如:

call(["sftp", "-b","/path/sftp_put",'[email protected]']) 

它不工作,造成此錯誤:

Host key verification failed. 
Couldn't read packet: Connection reset by peer 
+0

可能是它要求輸入密碼。 – 2014-10-11 13:45:10

+0

爲什麼不使用像paramiko這樣的python sftp客戶端? – Daniel 2014-10-11 16:32:49

回答

0

當您連接到與SFTP/SSH服務器首次你通常要求確認服務器密鑰指紋是正確的(這一行爲可以在客戶端設置進行更改)

例如:

ssh sftp02.domain.com 

The authenticity of host 'ftp02.domain.com (10.90.229.2)' can't be established. ECDSA key fingerprint is 9c:4a:b3:1a:ce:a8:78:81:c6:a1:a1:8b:8f:c0:e0:27. Are you sure you want to continue connecting (yes/no)? yes

您必須驗證和密鑰將被添加到你的已知主機在服務器密鑰更改之前,不會再詢問。如果是這種情況,服務器已被重新安裝,重新生成密鑰或者您被惡意重定向到不同的服務器。