被项目大佬安排去解决一个连接不上ssh的问题。
手动写了一个测试程序,测试ssh连接,发现会报Algorithm negotiation fail错误,于是baidu了下。
发现大部分相关报错都提到了jsch包和openssl协议版本的问题,于是查看了下。
项目中使用的jsch-0.1.44-1 版本,是2011年出来的,而Linux服务器上使用的Openssl版本则是 OpenSSL 1.0.2g 1 Mar 2016
很明显是由于旧的jsch缺少了新版本openssl的加密算法,所以导致了连接不上的问题。
将jsch换成0.1.55版本后,连接正常了,问题解决
ps 相关指令 查看openssl版本指令 openssl version