排錯

SSH 排錯總覽:每個常見報錯與修法

常見 SSH 報錯的完整地圖——connection refused、timed out、closed by remote host、permission denied、host key verification failed、no matching host key、too many auth、broken pipe——每個是什麼意思、用哪篇專文修。

CC Chen Chen· 創始人·2026 年 6 月 24 日·閱讀 8 分鐘

一張表看懂 SSH 排錯

幾乎所有 SSH 故障都落在三類裡——連線建不起來認證被拒工作階段斷開。最快的修法是讀準確的報錯、跳到它的原因。本頁是所有常見 SSH 報錯的地圖:每個是什麼意思、用哪篇專文修。

按症狀診斷

你看到的報錯通常意味著修法
Connection refused機器可達,那個連接埠上沒人在聽Connection refused →
Connection timed out完全沒回應——IP 錯、主機關了、或從外部連私有位址Timed out →
Connection closed by remote host伺服器接受後又斷開——常是 fail2ban 封禁Closed by remote →
Permission denied (publickey)伺服器拒絕認證——金鑰/使用者名稱/權限Permission denied →
Too many authentication failures用戶端遞了太多金鑰,對的那把沒輪到Too many auth →
UNPROTECTED PRIVATE KEY FILE金鑰檔案能被他人讀——SSH 忽略它Unprotected key →
Host key verification failed伺服器身份金鑰比上次變了Host key changed →
no matching host key type found新用戶端 vs 舊伺服器——演算法不匹配No matching host key →
Broken pipe / client_loop閒置連線被斷,或網路變了Broken pipe →

連線層報錯(連不上)

這些發生在認證之前——問題在網路路徑,不是憑證。三者很好區分:

  • Connection refused——機器回答"這裡沒人在聽"。sshd 沒跑、連接埠錯、或防火牆拒絕。
  • Connection timed out——完全沒回應。IP 錯/變了、主機睡了、或從外部連私有區域網路位址(行動端頭號原因)。
  • Connection closed by remote host——它接受了,然後掛斷。通常是失敗登入後被 fail2ban 封,或 sshd 過載。

認證層報錯(連上了但拒絕你)

連線通了;伺服器不接受你的憑證。

主機金鑰與演算法報錯

工作階段與其它報錯

在手機上排錯

SSH 報錯在行動端的難點是讀冗長輸出、記診斷命令。只要你有任何能用的工作階段,選中報錯問助理——TermAI 的 AI 讀真實報錯和你的伺服器脈絡,告訴你是哪個原因,並給出確認和修復的確切命令。

TermAI 的 AI 助理解讀一條 SSH 報錯
多數 SSH 報錯長得像但原因不同。選中報錯問 AI,它貼著你的即時工作階段,縮小到具體原因並給出修復命令。

常見問題

怎麼排查 SSH 連線?
讀準確的報錯並歸類:連線層(refused/timed-out/closed)是網路或伺服器問題;認證層(permission denied/too many auth)是憑證;主機金鑰錯是身份或演算法不匹配。然後按那個報錯的專文修。

refused、timed out、closed 有什麼區別?
Refused = 沒人在聽。Timed out = 完全沒回應。Closed by remote host = 應答了然後把你斷開(常是封禁)。

為什麼 SSH 在家能用、行動數據下不行?
你多半在連一個家外不存在的私有區域網路位址——用 Tailscale 拿穩定位址。見 timed out

SSH 報錯記在伺服器哪裡?
/var/log/auth.log(Debian/Ubuntu)或 journalctl -u ssh——多數認證和連線拒絕它都寫明真實原因。

快速事實

  • 三大類:連線層(refused/timed-out/closed)、認證層(permission denied/too many auth/unprotected key)、主機金鑰/演算法
  • 區分連線錯:refused = 沒人聽 · timed out = 沒回應 · closed = 應答後斷開
  • 伺服器端真相:/var/log/auth.logjournalctl -u ssh
  • 行動端:選中報錯,讓 AI 歸類並修復
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog