问题描述
环境:jdk1.6 + jsch-0.1.52.jar + openSSH7.4
升级openSSH到7.4后jsch报错:End of IO Stream Read* 或者报错:Algorithm negotiation fail*。
*注:
End of IO Stream Read:jdk1.6支持加密算法太少,导致报文无法正确解析。
Algorithm negotiation fail:客户端指定的加密算法openSSH不支持。
问题分析
1、网上说的jsch-0.1.52.jar不支持openSSH7.4版本的说法不靠谱,jsch-0.1.52.jar也是能正常访问的。
2、真正的原因是jdk1.6支持的加密算法和openSSH7.4声明支撑的加密算法不一致导致的。
jdk1.6支持的加密算法较少,openSSH7.4默认屏蔽了jdk1.6支持的加密算法,如:diffie-hellman-group1-sh