主机ssh升级到6.7以上版本后,使用jsch jar包ssh连接不上报Algorithm negotiation fail问题的解决办法

时间:2023-03-08 17:04:55
主机ssh升级到6.7以上版本后,使用jsch jar包ssh连接不上报Algorithm negotiation fail问题的解决办法

ssh连接问题是由于主机ssh中缺少与jsch jar包匹配的加密算法导致,jsch jar包的默认加密算法貌似是diffie-hellman-group-exchange-sha1。

在目标主机ssh服务的sshd_config文件中添加下列加密算法并重启ssh服务即可解决ssh连接问题。
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256

jsch jar包要更新到0.1.50以上版本,经测试0.1.42版本与openssh6.7配合有问题。

--------------------------------2016-08-03---再次更新------------------------

把JAVA程序的JDK升级到1.8版本并更新jsch jar包到官方最新包 ,测试过后可以正常连接各种ssh版本。

或者通过j2ssh.jar方式替代jsch。