SSH 伺服器設定稽核
貼上 sshd_config 或上傳檔案。稽核完全在瀏覽器內進行——不傳送任何內容——你會得到分數、逐行的問題清單和一份可下載的強化設定。
sshd_config 決定了誰能登入你的伺服器、以及怎麼登入:root 登入、密碼驗證、提供哪些加密演算法與金鑰交換演算法、閒置連線保留多久。這個工具在瀏覽器裡按 Mozilla OpenSSH 指南與 OpenSSH 10.6 預設值稽核你的 sshd_config,給出 0–100 的分數、逐行列出每個問題,並產生一份可下載的強化設定。它理解「首次相符生效」語意、Match 區塊與 Include 行,因此首頁看著乾淨,也藏不住 Match 區塊裡的弱設定。產生金鑰請用SSH 金鑰套件;檢查密碼是否外洩,請用密碼外洩檢查;如果密鑰不慎寫進了設定,外洩密鑰掃描器能找到它。配套文章如何強化 SSH 伺服器設定用文字說明了同樣的設定。
基準:Mozilla OpenSSH 指南 + OpenSSH 10.6 預設值,核實於 2026-11-13。
最後更新:
🔒 你的設定只在瀏覽器裡解析,絕不離開你的裝置。不需要帳號、不上傳、不呼叫伺服器。
你貼上的設定會如何處理
什麼都不會離開你的瀏覽器。設定由本頁的 JavaScript 在本機解析:不上傳、不呼叫伺服器、不儲存、不需要帳號。這很重要,因為伺服器設定屬於基礎設施細節——主機名稱、使用者名稱、允許登入的使用者與連接埠——絕不應該貼到聊天視窗或伺服器端檢測器裡。關閉頁面即丟棄。
這個分數不能證明什麼
分數乾淨不等於安全。它只表示這份檔案按這份基準沒有被標示的指令——一把弱金鑰、一個外洩的憑證、一個未修補的 sshd 或缺失的防火牆,仍然可能讓一切前功盡棄。
分數差也不等於已被入侵。它是一份按優先順序排列的待改清單——先修錯誤,再修警告。
基準會變。本次稽核以 2026-11-13 核實的 Mozilla OpenSSH 指南與 OpenSSH 10.6 預設值為準;今天還算現代的演算法,明天可能就被棄用。升級 sshd 後請重新稽核。
分數是怎麼算出來的
每個錯誤扣 15 分,每個警告扣 7 分,提示不扣分。Match 區塊內的問題是有條件的——只適用於符合該區塊的連線,因此會列出,但不扣分。四個級距是刻意分得比較粗的:80–100 分為高,60–79 分為中,40–59 分為低,0–39 分為差——分得更細,就會假裝設定稽核擁有它並不具備的精確度。
稽核是怎麼運作的
sshd 對每個指令只讀一次:對每個關鍵字,先遇到的值生效,後面的重複值會被靜默忽略。這個工具會標明生效的那一行,並標示被遮蔽的重複行,因此寫在第一行下面的所謂「已修復」行騙不了它。缺失的指令會按 OpenSSH 預設值稽核——當預設值本身就很寬鬆時,缺失絕不算通過,這正是 PasswordAuthentication 成為未動過設定上最常見問題的原因。
Match 區塊內的指令只適用於符合其條件的連線,因此其中的問題是有條件的:會連同所在的區塊一起列出,但不扣分。Include 行會被標示為「未跟隨」——被包含的檔案從不讀取,因此只寫在被包含檔案裡的指令對本次稽核不可見。想做完整稽核,請貼上合併後的設定(sshd -T 會列印出解析後的生效設定)。
這個工具讀的是檔案,而不是正在執行的伺服器:它看不到 sshd 是否真的在用這份設定、你的金鑰有多強,也看不到防火牆或 fail2ban 是否守著連接埠。只關 PasswordAuthentication 是不夠的——如果 PAM 仍能接受密碼,密碼登入就還開著,請同時檢查 KbdInteractiveAuthentication 和你的 PAM 設定。改連接埠只是障眼法,不是強化:只會記錄,絕不計分。
常見問題
為什麼 PasswordAuthentication 是最常見的問題?
因為 OpenSSH 的預設值就是 yes:大多數發行版預設開著密碼登入,很多維運也從沒關過它。關掉它——並檢查 KbdInteractiveAuthentication 和 PAM(它們仍可能接受密碼)——遠比改連接埠重要,改連接埠只是把登入提示換了個地方。
我的設定分散在多個 Include 檔案裡,為什麼稽核會忽略它們?
這個工具在瀏覽器裡執行,讀不到你伺服器的檔案系統,因此 Include 行會被標示為「未跟隨」,而不是悄悄跳過。請改用合併後的設定:sshd -T 會列印出解析了全部包含檔案後的生效設定,本稽核就是為這份檔案設計的。
強化後的設定能直接放到伺服器上嗎?
不能——請先審閱。下載檔案會把被標示的指令改成基準建議值,並把已移除或被遮蔽的行註解掉,但它不知道你的 Match 區塊、你的使用者和你的網路。先用 sshd -t 測試,保持一個連線開著,再開第二個連線測試登入,確認無誤後再關閉第一個連線。