我想这是一个概念上的问题,考虑到我已经解决了这个问题,但问题是,我不太清楚问题是什么。
我试图连接到一个新的VPS我安装程序,并为root创build了一个ssh_key,然后用一个pw创build了一个新用户,然后将他sshjoin。然后尝试使用netbeans进行连接,失败。 然后,我尝试了一个云IDE,'codeanywhere'谷歌浏览器扩展,并且工作正常。 一些谷歌search后发现这个问题
https://stackoverflow.com/questions/26424621/algorithm-negotiation-fail-ssh-in-jenkins
和添加的build议
TL; DR编辑您的sshd_config并启用对KexAlgorithms中的diffie-hellman-group-exchange-sha1和diffie-hellman-group1-sha1的支持:
KexAlgorithms curve25519-sha256 @ libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group -exchange-SHA1,的Diffie-Hellman-组1-SHA1
工作,现在netbeans连接。
我的问题是:为什么其他的工作,而不是netbeans? 我几乎不懂连接algorithm,但前几天我们在谈论他们的工作,是不是只有netbeans没有全部? 或者是我的VPS安装不正确? 对我来说,似乎很奇怪,从命令行(MacOSX)ssh和铬扩展没有问题,但netbeans做到了。
谢谢
根据你的问题描述,看起来Netbeans包括一个只支持现代OpenSSH服务器版本默认没有启用的旧的密钥交换algorithm的ssh客户端。
但是,系统上安装的普通ssh客户端确实支持OpenSSH服务器上默认启用的一些密钥交换algorithm。
即使没有调查,我认为这是一个合理的假设,启用algorithm的改变最有可能是由于某个原因而完成的,而且当重新启用这些algorithm以提高兼容性时,您可能会进行安全性权衡。
查看相关的提交 ,似乎这个假设是正确的。