我想這是一個概念性問題,考慮到我已經解決了這個問題,但問題是,我不太確定問題是什麼。
我試圖連接到我設定的新的 VPS,並為 root 建立了一個 ssh_key,透過 ssh 進入,然後使用 pw 建立了一個新用戶,然後透過 ssh 進入。然後我嘗試了一個雲端 IDE,“codeanywhere”,一個 google chrome 擴展,效果很好。經過一番谷歌搜尋後發現這個問題
https://stackoverflow.com/questions/26424621/algorithm-negotiation-fail-ssh-in-jenkins
以及添加的建議
TL;DR 編輯您的 sshd_config 並在 KexAlgorithms 中啟用 diffie-hellman-group-exchange-sha1 和 diffie-hellman-group1-sha1 的支援:
Kex演算法 [電子郵件受保護],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-shaellman -group1-sha1
成功了,netbeans 現在可以連接了。
我的問題是:為什麼其他的東西可以工作,而 netbeans 卻不起作用?我幾乎不懂連接演算法,但前幾天我們在工作中討論過它們,難道只是netbeans沒有全部嗎?還是我的VPS設定不正確?對我來說這似乎很奇怪,命令列(MacOSX)和 chrome 擴充功能的 ssh 沒有問題,但 netbeans 有問題。
謝謝
答案1
根據您的問題描述,Netbeans 似乎包含一個 ssh 用戶端,該客戶端僅支援現代 OpenSSH 伺服器版本預設未啟用的這些較舊的金鑰交換演算法。
然而,系統上安裝的普通ssh
客戶端確實支援 OpenSSH 伺服器上預設啟用的某些金鑰交換演算法。
甚至沒有進行調查,我認為這是一個合理的假設,即啟用的演算法的更改很可能是有原因的,並且在重新啟用這些演算法以提高兼容性時您可能會進行安全權衡。
抬頭看相關提交,看來這個假設確實是正確的。