ssh com.jcraft.jsch.JSchException: Algorithm negotiation fail報錯問題解決


 我司自動安裝部署工具ideploy,使用ssh連接主機並部署業務。今天提供給一線安裝規划后,安裝報錯,測試連接主機失敗,而直接使用ssh是可以連接上主機的。查看問題錯誤堆棧如下:

 

[plain]  view plain  copy
 
  1. ERROR pool-4-thread-1 2015-06-15 14:28:59,852 [SSHTerminal] (connectToServer:275) The ssh is connect exception.Try 1 times.  
  2. com.jcraft.jsch.JSchException: Algorithm negotiation fail  
  3.     at com.jcraft.jsch.Session.receive_kexinit(Session.java:520)  
  4.     at com.jcraft.jsch.Session.connect(Session.java:286)  
  5.     at com.huawei.breeze.ideploy.terminal.SSHTerminal.connectToServer(SSHTerminal.java:236)  
  6.     at com.huawei.breeze.ideploy.terminal.SSHTerminal.connect(SSHTerminal.java:151)  
  7.     at com.huawei.breeze.ideploy.terminal.SSHTerminal.checkConnect(SSHTerminal.java:105)  
  8.     at com.huawei.breeze.ideploy.terminal.UnixTerminal.executeNormal(UnixTerminal.java:950)  
  9.     at com.huawei.breeze.ideploy.terminal.UnixTerminal.executeForward(UnixTerminal.java:812)  
  10.     at com.huawei.breeze.ideploy.terminal.UnixTerminal.executeNormal(UnixTerminal.java:884)  
  11.     at com.huawei.breeze.ideploy.terminal.Terminal.execute(Terminal.java:195)  
  12.     at com.huawei.breeze.ideploy.host.HostCheckRunner.run(HostCheckRunner.java:84)  
  13.     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
  14.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
  15.     at java.lang.Thread.run(Unknown Source)  


    一搜,發現不少人有同樣的問題,http://stackoverflow.com/questions/26424621/algorithm-negotiation-fail-ssh-in-jenkins,應該是ssh在6.7版本以后,對一些加密算法不支持,需要手動添加。查看問題單板ssh版本結果如下:

 

 

[plain]  view plain  copy
 
  1. user01@caiyun-aas02:~> ssh -V  
  2. OpenSSH_6.8p1, OpenSSL 0.9.8j-fips 07 Jan 2009  

運行正常的主機則如下:

 

 

[plain]  view plain  copy
 
  1. user01@caiyun-ndmc-db01:/> ssh -V  
  2. OpenSSH_6.2p2, OpenSSL 0.9.8j-fips 07 Jan 2009  

 

    問題解決:在/etc/ssh/sshd_config最后添加一行加密算法,重啟sshd,/etc/init.d/sshd restart,問題解決

  2015-7-28,補充,遇到個sftp連接,代碼報錯的,用以上方法不行,同樣修改和/usr/etc/sshd_config文件后,問題解決,記錄一下。

 


免責聲明!

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



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