SecureCRT連接密鑰交換失敗
- 問題描述:
- 問題分析:
- 解決方案:
問題描述:
SecureCRT6.7連接銀河麒麟操作系統v10版本,報錯如下:
key exchange failed
密鑰交換失敗
no compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
沒有兼容的密鑰交換方法。服務器支持以下方法: curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
no compatible MAC. The server supports these MACS: hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com
沒有兼容的MAC。服務器支持這些MACS: hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com
問題分析:
在使用 SecureCRT 6.7 連接 銀河麒麟操作系統 V10 時,如果遇到 Key exchange failed 錯誤,通常是因為 SecureCRT 和服務器之間的 SSH 密鑰交換算法不兼容。銀河麒麟 V10 默認使用了較新的加密算法,而 SecureCRT 6.7 版本較舊,可能不支持這些算法。
解決方案:
- 確認 SecureCRT 版本
SecureCRT 6.7 是一個較舊的版本(發布于 2010 年左右),建議升級到 SecureCRT 9.x 或更高版本,以支持更多現代加密算法。 - 修改 SecureCRT 的 SSH 配置
如果無法升級 SecureCRT,可以嘗試修改 SSH 配置,啟用兼容的密鑰交換算法:
步驟:
- 打開 SecureCRT。
- 進入需要連接的會話配置:
- 右鍵點擊會話 -> Properties(屬性)。
- 在左側菜單中選擇 Connection -> SSH2。
- 點擊右側的 Advanced(高級)按鈕。
- 在 Key Exchange(密鑰交換)選項中,調整算法順序:
- 將較舊的算法(如 diffie-hellman-group1-sha1 或 diffie-hellman-group14-sha1)移到最前面。
- 確保勾選這些算法。
- 保存配置并重新連接。
- 修改銀河麒麟 V10 的 SSH 配置
如果修改 SecureCRT 配置后問題仍未解決,可以嘗試在銀河麒麟 V10 上調整 SSH 服務端的配置,以支持較舊的密鑰交換算法。
步驟:
- 使用 root 用戶登錄銀河麒麟 V10
- 編輯 SSH 配置文件:
vi /etc/ssh/sshd_config
- 添加或修改以下配置項:
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,ecdh-sha2- nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
- 保存并退出編輯器。
- 重啟 SSH 服務:
systemctl restart sshd
- 檢查防火墻和網絡配置
如果問題仍然存在,可能是防火墻或網絡配置阻止了 SSH 連接:- 確保銀河麒麟 V10 的防火墻允許 SSH 端口(默認是 22)。
- 檢查網絡是否通暢,使用 ping 或 telnet 測試連接。
- 升級 SecureCRT
如果以上方法無效,建議升級 SecureCRT 到最新版本(如 9.x 或更高),以支持更多現代加密算法,避免兼容性問題。 - 使用其他 SSH 客戶端
如果 SecureCRT 無法滿足需求,可以嘗試其他 SSH 客戶端,例如:- MobaXterm(免費且功能強大)
- Xshell(商業軟件,支持多種加密算法)
- PuTTY(免費開源)
通過以上步驟,你應該能夠解決 Key exchange failed 的問題。