解釋錯誤訊息 “[ERROR] could not connect to ssh://172.16.65.210:22 - kex error : no match for method server host key algo: server [ssh-rsa,ssh-dss], client [ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256]” 的含義以及如何解決。
錯誤分析:
- [ERROR] could not connect to ssh://172.16.65.210:22:表示無法連接到 SSH 伺服器 172.16.65.210 的 22 埠。
- kex error : no match for method server host key algo:表示金鑰交換(Key Exchange,KEX)階段出現問題,客戶端和伺服器無法就伺服器主機金鑰演算法達成一致。
- server [ssh-rsa,ssh-dss]:表示伺服器僅支援 ssh-rsa 和 ssh-dss 演算法。
- client [ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256]:表示客戶端支援的演算法列表,但不包含伺服器支援的 ssh-rsa 和 ssh-dss。
客戶端和伺服器支援的伺服器主機金鑰演算法不一致,導致無法建立安全連接。
解決方法:
- 修改伺服器配置:
如果可以控制伺服器,建議在伺服器上增加對更安全的演算法(如 ecdsa-sha2-nistp256 或 rsa-sha2-256)的支援。具體方法取決於伺服器的 SSH 軟體版本。
修改客戶端配置:
如果無法控制伺服器,則需要修改客戶端的 SSH 配置,使其支援伺服器支援的演算法。
- 在 OpenSSH 客戶端的配置檔案(通常為 ~/.ssh/config)中,新增以下配置:
Host 172.16.65.210
HostKeyAlgorithms ssh-rsa,ssh-dss
保存配置後,重新嘗試連接。
注意:
- 一般不建議使用 ssh-dss 演算法,因為它已被認為不安全。如果伺服器僅支援 ssh-dss,請謹慎考慮是否要連接。
- 在進行任何配置修改前,請做好備份,以免造成不可挽回的錯誤。
沒有留言:
張貼留言