出现错误:paramiko.ssh_exception.SSHException: Error reading SSH protocol banner[Errno 54] Connection reset by peer
则需要修改 paramiko 源码,重新编译后安装。
-
删除原有的 paramiko, cryptography, cffi
sudo pip uninstall paramiko
sudo pip uninstall cryptography
sudo pip uninstall cffi
之前都放在 /anaconda3/lib/python3.7/site-packages 中。 -
重新安装paramiko,
sudo pip install paramiko
,此时会自动重新安装依赖的 cffi 和 cryptography. -
再次删除 paramiko, 然后下载 paramiko 源码 https://src.fedoraproject.org/repo/pkgs/python-paramiko/ ,选了2.6.0版本
-
修改 Downloads/paramiko-2.6.0/paramiko/transport.py 中的 self.banner_timeout ,值从15改为300,保存文件。
-
cd 到 Downloads/paramiko-2.6.0下,执行
image.png
sudo python3 setup.py build
sudo python3 setup.py install
此时可以看到在/anaconda3/lib/python3.7/site-packages下,已生成了新编译、安装的 paramiko-2.6.0-py3.7.egg
-
python 中 import paramiko 试试,若没问题,则问题解决。
image.png
网友评论