paramiko Exception: Error reading SSH protocol banner

出现错误:paramiko.ssh_exception.SSHException: Error reading SSH protocol banner[Errno 54] Connection reset by peer
则需要修改 paramiko 源码,重新编译后安装。

  1. 删除原有的 paramiko, cryptography, cffi
    sudo pip uninstall paramiko
    sudo pip uninstall cryptography
    sudo pip uninstall cffi
    之前都放在 /anaconda3/lib/python3.7/site-packages 中。

  2. 重新安装paramiko,sudo pip install paramiko,此时会自动重新安装依赖的 cffi 和 cryptography.

  3. 再次删除 paramiko, 然后下载 paramiko 源码 https://src.fedoraproject.org/repo/pkgs/python-paramiko/ ,选了2.6.0版本

  4. 修改 Downloads/paramiko-2.6.0/paramiko/transport.py 中的 self.banner_timeout ,值从15改为300,保存文件。

  5. cd 到 Downloads/paramiko-2.6.0下,执行
    sudo python3 setup.py build
    sudo python3 setup.py install
    此时可以看到在/anaconda3/lib/python3.7/site-packages下,已生成了新编译、安装的 paramiko-2.6.0-py3.7.egg

    image.png

  6. python 中 import paramiko 试试,若没问题,则问题解决。


    image.png

参考:
https://www.cnblogs.com/SunshineKimi/p/11731065.html

你可能感兴趣的:(paramiko Exception: Error reading SSH protocol banner)