SSH客户端和服务器在几个地方尝试并同意一个通用实现。我知道的两个是加密和压缩。服务器和客户端生成可用选项的列表,然后在两个列表中选择最佳的可用选项。
如果列表中没有可接受的选项,则它将失败,并显示错误消息。我从这里的调试输出中猜测出来,但是看起来唯一的加密服务器选项是“ aes256-cbc hmac-
md5 none”。
JSch不执行hmac-md5,并且由于Java策略文件而禁用了aes256-cbc。您可以尝试的两件事是…
- 要增加服务器上可用的加密库,请在客户端上安装不受限制的策略文件,并从站点启用aes256-cbc(确保已声明禁用该消息,这些策略文件非常容易安装在错误的JVM上) :
对于JDK
1.6:http
:
//www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
对于JDK
1.7:http
:
//www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
对于JDK
1.8:http
:
//www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
- 或尝试禁用加密。
如果您可以访问服务器,则第一个是理想的选择(请相信aes128-cbc具有足够的加密功能),但是第二个非常容易,可以快速验证该理论。



