密钥交换未完成,与ganymed-ssh-2和Cisco Confd的连接已关闭



我使用的是JNC 1.0 &ganymed-ssh-2 v262通过SSH建立到Cisco Confd节点的Netconf会话,得到以下错误。原因是什么呢?

. io .IOException:密钥交换未完成,连接已关闭。ch.ethz.ssh2.transport.KexManager.getOrWaitForConnectionInfo (KexManager.java: 75)ch.ethz.ssh2.transport.TransportManager.getConnectionInfo (TransportManager.java: 169)ch.ethz.ssh2.Connection.connect (Connection.java: 759)在com.tailf.jnc.SSHConnection。(未知来源)在com.tailf.jnc.Device。连接(未知来源)在com.tailf.jnc.Device。连接(未知来源)….java.base/java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java: 165)java.io.IOException: Cannot negotiate, proposals不匹配。ch.ethz.ssh2.transport.ClientKexManager.handleMessage (ClientKexManager.java: 123)ch.ethz.ssh2.transport.TransportManager.receiveLoop (TransportManager.java: 572)在ch.ethz.ssh2.transport.TransportManager 1.美元运行(TransportManager.java: 261)在java.base/java.lang.Thread.run (Thread.java: 833)

java.io.IOException: Key exchange was not finished, connection is closed.
...
...
Caused by: java.io.IOException: Cannot negotiate, proposals do not match.

这意味着客户端支持的密钥交换算法与服务器支持的密钥交换算法之间存在不匹配。

我建议将ganymed-ssh-2更新到v263。显然,最新版本增加了对以下密钥算法的支持:

diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
diffie-hellman-group18-sha512

您可以通过在终端上使用ssh的调试标志来检查服务器支持的内容:

ssh -vvv user@host

最新更新