我正在使用j2ssh-core-0.2.9.jar来ssh到主机。
在日志中我可以看到:
Client Algorithms: [diffie-hellman-group1-sha1]
Server Algorithms: [curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group-
exchange-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1]
我阅读了提供的文件:
https://www.openssh.com/legacy.html
我去了我正在尝试ssh并执行的主持人:
ssh -Q kex
输出结果为:
diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
diffie-hellman-group1-sha1
curve25519-sha256@libssh.org
我无法理解如何解决这个问题,因为即使在日志中我可以看到服务器的密钥交换方法不包含diffie-hellman-group1-sha1但是当我执行ssh-Q时在主机上使用kex命令,输出显示diffie-hellman-group1-sha1存在。
请帮忙。
答案 0 :(得分:0)
现在大约已有10年历史的SSH客户端不支持更现代服务器更强大,更安全的算法。
我建议(作为您正在使用的API的作者)停止使用它并转移到其他API。有更多最新的开源Java SSH API可供您使用,包括我自己的J2SSH Maverick,JSch,我相信会有评论为其他人提供案例。