SSHException: Error reading SSH protocol banner
Posted sunshinekimi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于SSHException: Error reading SSH protocol banner的主要内容,如果未能解决你的问题,请参考以下文章
h3c设备使用paramiko模块连接(SSHException:Channel closed)
python paramiko模块sftp异常:paramiko.ssh_exception.SSHException: EOF during negotiation
Python登录SSH服务遇到报错,paramiko.ssh_exception.SSHException: Channel closed.
如何修复 Phonegap 中的“FCMPlugin Ready ERROR”?
hbase建表时 ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
Error execution phase kubelet-start: a Node with name ... and status Ready already exists