這有效: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') 但現(xiàn)在我想直接測(cè)試 ftp(端口 21),所以我添加了端口屬性:with pysftp.Connection('ftpsite.com', port=21 , username='xxx', password='xxx', cnopts=cnopts) as sftp:現(xiàn)在我明白了:異常:paramiko.ssh_exception.SSHException 消息:讀取 SSH 協(xié)議橫幅時(shí)出錯(cuò)我很困惑...
2 回答

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

冉冉說
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
SFTP 使用 SSH,所以它的端口是 22,而不是 21
FTP 使用端口 21
就像錯(cuò)誤所說的,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
添加回答
舉報(bào)
0/150
提交
取消