SSHException: Error reading SSH protocol banner

当我在使用ssh  远程connect 另一台机器的server 时出现了错误,错误如下,起初以为是自己代码写的有问题,后来本地了一下看了跑的没问题,我就开始根据报错去查寻原因, 

起初在论坛博客看到这篇文章,试着看了下意思就是你的self.banner默认源码时间设置只有15s  让我修改源码在transform.py 然后离线安装paramiko ,试了后还是报上面的错,试了下还是没什么用网友的技术贴并不是都实用还得靠自己啊,这里的问题可以排除了,继续找原因,查看sshd端口

paramiko   Exception: Error reading SSH protocol banner

 File "/usr/local/lib/python3.5/site-packages/paramiko/transport.py", line 2044, in _check_banner
    buf = self.packetizer.readline(timeout)
修改:self.banner_timeout = 15
self.banner_timeout = 300
下载:https://src.fedoraproject.org/repo/pkgs/python-paramiko/ 源码. 我选了:paramiko-1.15.2.tar.gz
tar -xzvf  paramiko-1.15.2.tar.gz
cd paramiko-1.15.2  cd parakimo
vim transport.py   :s/self.banner_timeout 修改为:300  (按N 下一个)
cd ..

python3 setup.py build

python3 setup.py install

3.查询sshd port 配置

ssh localhost 显示端口竟然是36000

ssh: connect to host localhost port 36000: No route to host

为了确认配置是不是被人改了检查sshd配置:

vi   /etc/ssh/sshd_conf 

一脸的黑线,你懂的端口默认这里是22 被人改成了36000 

重新修改代码port 问题解决:

def run():


ip = '192.168.110.136'
port = 36000

pwd = 'admin'
user = 'root'
client = SshConnect(ip, user, pwd, port)
res = client.exe_cmd('pwd&&cd /usr/local&&pwd') # type should be str
log.info(res)
原文地址:https://www.cnblogs.com/SunshineKimi/p/11731065.html