[错误解决]paramiko.ssh_exception.SSHException: Error reading SSH protocol banner 设置


报错信息

上午的时候数据组的同事跟我说有几个程序报错,经过查看log发现找到报错信息:

paramiko.ssh_exception.SSHException: Error reading SSH protocol banner

经过搜索,得知引起该错误的原因是因为banner_timeout默认设置太短,只有15s。

错误分析

经查看paramiko库下面的transport.py下面的Transport代码如下:

class Transport(threading.Thread, ClosingContextManager):
        self.banner_timeout = 15
        # how long (seconds) to wait for the handshake to finish after SSH

重设banner_timeout属性值

网上的方法大多数是修改源码,重新安装,感觉略麻烦。这里在代码里面进行属性重新设置。

transport = paramiko.Transport((self.host, self.port))
print(transport.banner_timeout)
transport.banner_timeout = 30
print(transport.banner_timeout)

经过测试,两次打印出来的属性值不同,说明属性设置成功,问题解决。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM