這有效:cnopts = pysftp.CnOpts()cnopts.hostkeys = Nonewith pysftp.Connection('ftpsite.com', username='xxx', password='xxx', cnopts=cnopts) as sftp: with sftp.cd('inbox'): sftp.get('WinSCP.ini') 但現在我想直接測試 ftp(端口 21),所以我添加了端口屬性:with pysftp.Connection('ftpsite.com', port=21 , username='xxx', password='xxx', cnopts=cnopts) as sftp:現在我明白了:異常:paramiko.ssh_exception.SSHException 消息:讀取 SSH 協(xié)議橫幅時出錯我很困惑...
2 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
pysftp 庫僅使用 SFTP 協(xié)議進行對話,這與“普通”FTP 協(xié)議不同。因此,當您的程序嘗試通過 SFTP 與 FTP 服務器通信時,您看到的是錯誤,并且不理解它返回的響應。

冉冉說
TA貢獻1877條經驗 獲得超1個贊
SFTP 使用 SSH,所以它的端口是 22,而不是 21
FTP 使用端口 21
就像錯誤所說的,ssh 異常。嘗試使用 'port=22'
來源:
port 21 Yes, and SCTP Assigned Official File Transfer Protocol (FTP) control (command)
port 22 Yes, and SCTP Assigned Official Secure Shell (SSH), secure logins, file transfers (scp, sftp) and port forwarding
添加回答
舉報
0/150
提交
取消