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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM