科技 · 實用指南
SSH 顯示「no matching host key type found」?啟用舊演算法前先證明協商邊界
錯誤指向伺服器主機金鑰協商,不是登入金鑰。先證明實際端點、指紋與雙方清單,再把舊演算法限於精確主機、有人負責且會到期的例外。

錯誤指向伺服器主機金鑰協商,不是登入金鑰。先證明實際端點、指紋與雙方清單,再把舊演算法限於精確主機、有人負責且會到期的例外。
錯誤發生於伺服器身分演算法協商,使用者公鑰驗證尚未開始。 改演算法前記錄別名、HostName、連接埠、跳板與設定來源。 由一次詳細連線保留客戶端與伺服器兩份主機金鑰演算法清單。
先分類再處理驗證金鑰
保留完整錯誤與脫敏 ssh -vvv,確認文字是 host key type/algorithm;若是 KEX、cipher、MAC 或使用者驗證,立即改走其他證據路徑。
先不要更換使用者金鑰、改 authorized_keys、清空 agent 或調整 PubkeyAcceptedAlgorithms。
證明實際目的地與生效設定
對精確別名執行 ssh -G,記錄主機、連接埠、使用者、ProxyJump、known_hosts 與 HostKeyAlgorithms;ssh -vvv 再記錄命中的設定。
先修正別名、Include、DNS、非標準連接埠或跳板造成的偏差,不能把例外套到錯誤端點。
比較雙方主機金鑰提案
保存客戶端清單及伺服器 KEXINIT 的主機金鑰提案;交集為空才是此錯誤的證明。
HostKeyAlgorithms、KexAlgorithms、Ciphers 與 PubkeyAcceptedAlgorithms 是不同階段,不可同時亂改。
獨立驗證端點並理解 RSA 名稱
從資產清單、主控台或已驗證管理員核對預期型別和 SHA256 指紋;ssh-keyscan 只能採集,不能獨立驗證。
RSA 金鑰不必使用 ssh-rsa。RFC 8332 的 rsa-sha2-256/512 可使用 RSA 金鑰與現代簽章。
優先修伺服器;必要時只建精確主機例外
持久修復是升級伺服器或增加 ED25519、ECDSA、RSA-SHA2,再確認新指紋。
已核驗端點可用單一命令追加 +ssh-rsa 測試;若核准,只寫在精確 Host,保留嚴格檢查、負責人與到期日。
