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

问题描述 投票:0回答:2

我正在使用 JNC 1.0 和 ganymed-ssh-2 v262 通过 SSH 与 Cisco Confd 节点建立 Netconf 会话,并收到以下错误。可能是什么原因?

java.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.connect(来源未知) 在 com.tailf.jnc.Device.connect(来源未知) .... java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) 引起原因:java.io.IOException:无法协商,建议不匹配。 在 ch.ethz.ssh2.transport.ClientKexManager.handleMessage(ClientKexManager.java:123) 在 ch.ethz.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:572) 在 ch.ethz.ssh2.transport.TransportManager$1.run(TransportManager.java:261) 在 java.base/java.lang.Thread.run(Thread.java:833)

ssh netconf confd
2个回答
1
投票
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。显然最新版本增加了对以下 kex 算法的支持:

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

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

ssh -vvv user@host

0
投票

confd 中的 SSH 主机密钥不匹配。 我们再次复制了密钥,然后它就开始工作了

cp -f /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub /opt/confd/etc/confd/ssh
© www.soinside.com 2019 - 2024. All rights reserved.