"no matching host key type found" 是什麼意思
你的 SSH 客戶端和伺服器沒能就一種加密演算法達成一致,所以連線根本沒開始。2026 年最常見的原因:你的新客戶端禁用了一個老舊、脆弱的演算法,而老伺服器只會這個。OpenSSH 8.8+ 預設關閉了 ssh-rsa(SHA-1)簽章,而老伺服器、路由器、NAS、交換器往往拿不出更新的演算法。臨時解鎖就一個參數;真正的修復是升級伺服器。
這個錯的三種變體
| 報錯 | 沒談攏的是什麼 |
|---|---|
no matching host key type found. Their offer: ssh-rsa | 主機金鑰簽章演算法 |
no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 | 金鑰交換(KEX) |
no matching cipher found | 加密演算法 |
三個是同一個故事——伺服器只能提供你客戶端因不安全而退役的演算法。Their offer: 後面正好告訴你伺服器卡在哪個被棄用的演算法上。
臨時解鎖(按連線)
只為這臺主機重新啟用那個特定的老演算法。最常見的 ssh-rsa 情形:
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa user@host 如果是老的金鑰交換或加密演算法,對應的:
ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 user@host
ssh -o Ciphers=+aes128-cbc user@host 要為某一臺主機永久生效(又不削弱別處的安全),寫進 ~/.ssh/config:
Host old-nas
HostName 192.168.1.10
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa 真正的修復:升級伺服器
+ssh-rsa 是權宜之計,不是解法——這些演算法被禁用就是因為它們已被攻破。持久的修復是讓伺服器提供現代演算法:
- 升級伺服器的 OpenSSH(當前版本會自動提供 Ed25519 和 rsa-sha2-256/512)。
- 缺主機金鑰就產生現代主機金鑰:
sudo ssh-keygen -A重新產生包含 Ed25519 在內的主機金鑰。 - 對於裝置(無法升級的老路由器、NAS、交換器),按主機的
~/.ssh/config例外是務實的折中——把弱演算法限定在那一臺。
在手機上
現代行動客戶端預設協商現代演算法——這對安全是好事,但也意味著面對老舊裝置會撞同一堵牆。兩點有幫助:優先用 Ed25519 金鑰(TermAI 替你產生),在任何支援它的伺服器上都能徹底繞開 ssh-rsa 簽章問題;對於真的很老的裝置,一個允許按連線設定演算法選項的客戶端,給你和 ~/.ssh/config 一樣的逃生口。
常見問題
怎麼修 "no matching host key type found"?
給 ssh 命令加 -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa,或寫進 ~/.ssh/config 的 Host 區塊。長期則升級伺服器的 OpenSSH。
為什麼更新客戶端後才壞的?
OpenSSH 8.8+ 預設禁用了老舊的 ssh-rsa(SHA-1)演算法。只會這個的伺服器從此協商失敗,直到你重新啟用或升級它。
重新啟用 ssh-rsa 安全嗎?
它比現代演算法弱,應限定在那臺需要的老主機上,別全域啟用。正解是升級伺服器。
和 host key verification failed 有什麼區別?
這個錯是關於能用哪些演算法(協商)。Host key verification failed 是關於伺服器身分金鑰變了。
快速事實
- 含義:客戶端和伺服器沒有共同可接受的演算法——通常是新客戶端 vs 老伺服器
- 原因:OpenSSH 8.8+ 預設禁用了
ssh-rsa(SHA-1)等弱演算法 - 臨時解鎖:
-o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa(在~/.ssh/config按主機限定) - 真正修復:升級伺服器 OpenSSH;
ssh-keygen -A重生主機金鑰 - 避免它:在支援的伺服器上用 Ed25519 金鑰(TermAI 自動產生)
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.