天天看點

jsch jar包連接配接不上ssh報Algorithm negotiation fail 錯誤

報錯資訊:

com.jcraft.jsch.JSchException: Algorithm negotiation fail

問題分析:

sshd配置中沒有打開支援jsch jar内需求的算法,預設開放的算法在man sshd_config中可以看,可能是sshd的進階版本中預設關閉了部分算法(7.5版本有這個問題)。

hash算法檢視:ssh -Q mac

kex算法檢視:ssh -Q kex

傳輸加密算法檢視:ssh -Q cipher

上面指令檢視到的算法是sshd支援的算法,并不是已經打開的算法

解決方案:

在 /etc/ssh/sshd_config檔案的最後添加指令行,打開算法:

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,[email protected]

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

重新開機服務:  service sshd restart

問題解決。

      本文轉自snc_snc 51CTO部落格,原文連結:http://blog.51cto.com/netsyscode/2062456,如需轉載請自行聯系原作者