jsch jar包连接不上ssh报Algorithm negotiation fail 错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

问题解决。


以上是关于jsch jar包连接不上ssh报Algorithm negotiation fail 错误的主要内容,如果未能解决你的问题,请参考以下文章

jsch jar包连接不上ssh报Algorithm negotiation fail 错误

jsch jar包连接不上ssh报Algorithm negotiation fail 错误

jsch jar包连接不上ssh报Algorithm negotiation fail 错误

Jsch初步

ch.ethz.ssh2.Session和com.jcraft.jsch.Session

如何使用jcraft 模拟SFTP登陆