最近在做项目迁移的过程中, 在用Python的paramiko模块连接SFTP的时候遇到了Error reading SSH protocol banner的问题。将解决的过程记录下。
这个错误出现在服务器接受连接但是ssh守护进程没有及时响应的情况(一般是15s).
要解决这个问题, 需要将paramiko的响应等待时间调长。
修改paramiko/transport.py文件中的
self.banner_timeout
值, 将其设为300或者其他较长的值即可解决这个问题。
参考:
- stackoverflow
- 腾讯云