• [错误解决]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)
    

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

  • 相关阅读:
    I/O模型
    同步异步与协程
    GIL(全局解释器锁)
    解决pycharm启动慢
    操作系统发展史
    TCP和UDP
    粘包问题
    网络编程
    异常
    常用函数汇总
  • 原文地址:https://www.cnblogs.com/everfight/p/paramiko_ssh_exception.html
Copyright © 2020-2023  润新知