gpt4 book ai didi

python - ftplib.FTP_TLS 启动 key 交换失败

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:21 25 4
gpt4 key购买 nike

我在使用客户端的 Python3 ftplib 通过 SSH 连接到 WS-FTP 服务器时遇到问题。

这是一个小例子:

import ftplib
sess = ftplib.FTP_TLS()
sess.connect(<hostname>, 22)

这只是在 sess.connect 中挂起。这是来自 connect() 的回溯:

Traceback (most recent call last):
File "o:/Thy.Python/logls.py", line 19, in <module>
logs = u.newSession()
File "/cygdrive/o/Thy.Python/logutils.py", line 41, in newSession
sess.connect(findsys(), 22)
File "/usr/lib/python3.6/ftplib.py", line 155, in connect
self.welcome = self.getresp()
File "/usr/lib/python3.6/ftplib.py", line 234, in getresp
resp = self.getmultiline()
File "/usr/lib/python3.6/ftplib.py", line 224, in getmultiline
nextline = self.getline()
File "/usr/lib/python3.6/ftplib.py", line 202, in getline
line = self.file.readline(self.maxline + 1)
File "/usr/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)

Wireshark 显示:

2017-06-14 11:26:21.623858 <Client> <Server> TCP 66 57092 › 22 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
2017-06-14 11:26:21.625280 <Server> <Client> TCP 62 22 › 57092 [SYN, ACK] Seq=0 Ack=1 Win=4380 Len=0 MSS=1460 SACK_PERM=1
2017-06-14 11:26:21.625428 <Client> <Server> TCP 54 57092 › 22 [ACK] Seq=1 Ack=1 Win=64240 Len=0
2017-06-14 11:26:21.649362 <Server> <Client> SSH 78 Server: Protocol (SSH-2.0-WS_FTP-SSH_7.7)
2017-06-14 11:26:21.843439 <Client> <Server> TCP 54 57092 › 22 [ACK] Seq=1 Ack=25 Win=64216 Len=0

有两点很突出:

  • ftplib()(或其从属库)似乎没有发送 SSH 客户端:协议(protocol)消息
  • 在服务器响应其 Server: Protocol 消息后,ftplib 仅发送一个 ACK​​,并不启动 key 交换。

任何人都可以建议发生了什么,以及如何解决它?恐怕我在这方面的能力处于悬崖边缘。

最佳答案

原来服务器是SFTP服务器,不是FTPS。this question的答案建议 Paramiko 或 Twisted

关于python - ftplib.FTP_TLS 启动 key 交换失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44539683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com