如何修復 SSH 認證失敗次數過多錯誤?
介紹
安全外殼或 SSH 是一種加密網路協議,已成為透過不安全的網路(如網際網路)進行安全遠端訪問和檔案傳輸的標準。SSH 透過加密它們之間所有流量來提供兩個主機之間交換資料的機密性和完整性。
它被系統管理員、開發人員和 IT 專業人員廣泛用於遠端管理伺服器、訪問檔案和執行命令。SSH 在現代計算中的重要性不容忽視。
瞭解錯誤
是什麼導致了錯誤?
“認證失敗次數過多”錯誤發生在 SSH 伺服器在短時間內收到一定數量的認證失敗嘗試時。預設情況下,此限制設定為 6,這意味著如果使用者在短時間內 6 次認證失敗,伺服器將拒絕任何進一步的認證嘗試並返回“認證失敗次數過多”錯誤訊息。此錯誤最常見的原因是登入憑據錯誤。
這可能是由於輸入了錯誤的使用者名稱或密碼,或者 SSH 連線兩端配置設定不正確。
如何識別錯誤?
在您嘗試連線到 SSH 伺服器並多次失敗後,通常會在 SSH 客戶端終端視窗中顯示“認證失敗次數過多”錯誤訊息。
該訊息通常顯示為“從 [ip_address] 斷開連線 −
[username] 的認證失敗次數過多。”
請注意,此錯誤訊息可能會因您特定的終端應用程式而略有不同。如果您不確定是否遇到此問題,可以檢查系統日誌以獲取更多資訊。
在 Linux 系統上,這些日誌通常位於 /var/log/auth.log 或 /var/log/secure 中。查詢包含“authentication”(認證)或“failed login attempts”(登入失敗嘗試)等詞語的條目。
忽略錯誤的可能後果
忽略“認證失敗次數過多”錯誤可能會對使用者和系統管理員都造成嚴重後果。首先,被鎖定在 SSH 伺服器之外意味著無法訪問那裡託管的關鍵檔案和服務。
這可能發生在伺服器級別,但在某些情況下,也可能涉及使用者的 IP 地址被安全系統或 ISP 列入黑名單。
故障排除技巧
檢查您的認證方法
遇到“認證失敗次數過多”錯誤時,第一步是檢查您的認證方法。SSH 支援三種類型的認證方法:密碼認證、公鑰認證和鍵盤互動式認證。
密碼認證 −這是 SSH 認證最簡單的方法。它要求使用者輸入使用者名稱和密碼組合才能訪問。
但是,它也比其他方法安全性低,因為密碼很容易成為駭客的目標。公鑰認證:此方法使用兩個金鑰
一個公鑰和一個私鑰
進行身份驗證。
公鑰儲存在伺服器上,而私鑰保留在客戶端計算機上。
鍵盤互動式認證 −此方法透過要求使用者輸入多種身份驗證方式(例如密碼和基於令牌的程式碼)來提供額外的安全層。
在 sshd_config 檔案中增加 MaxAuthTries 值
解決此錯誤的另一種方法是增加 sshd_config 檔案中的 MaxAuthTries 值。此值決定在關閉連線之前允許多少次嘗試,如果其中任何一次嘗試都不成功。
要增加此值,您首先需要找到 sshd_config 檔案,該檔案應位於基於 Unix 的系統上的 /etc/ssh/ 目錄中或 Mac OS X 系統上的 /etc/ 目錄中。
找到顯示“MaxAuthTries”的行,並將其預設值從 6(或當前讀取的值)更改為更高的數字,例如 10 或 15,具體取決於您的偏好。
修復 SSH 認證失敗次數過多錯誤
重新啟動 SSH 服務:重新引導您的 SSH 守護程式
重新啟動安全外殼 (SSH) 服務可能是解決“認證失敗次數過多”錯誤的最直接方法。重新引導 SSH 將重新啟動所有連線並清除可能導致此錯誤的任何空閒會話。
重新啟動 SSH 服務的過程因系統而異,但在大多數基於 Linux 的系統上,您可以使用以下命令 −
sudo systemctl restart sshd
或者,您可以使用以下命令停止和啟動服務 −
sudo systemctl stop sshd sudo systemctl start sshd
重新啟動或停止/啟動服務後,嘗試重新連線以檢視問題是否仍然存在。
終止空閒會話:透過終止非活動連線釋放資源
解決此問題的另一種方法是終止非活動會話。如果同時運行了過多的活動會話,它們可能會消耗系統資源並導致此錯誤。要檢視 Linux 和 Mac 系統上活動 SSH 連線的列表,請執行 −
w
這將顯示已連線使用者的列表以及登入時間、終端型別、IP 地址等詳細資訊。
要手動終止空閒會話,請使用以下命令 −
pkill -u username sshd
將 `username` 替換為您實際的使用者名稱,並以 root 身份或使用 sudo 許可權執行它。此命令將終止該特定使用者的全部空閒會話。
停用未使用的認證方法:透過停用密碼認證加強安全性
在處理“認證失敗次數過多”問題時,保護系統 SSH 訪問的最有效方法之一是停用未使用的認證方法(例如密碼認證),轉而使用基於金鑰的認證。基於密碼的認證安全性較低且容易受到暴力破解嘗試的影響,使其成為駭客的主要目標。
要在 Linux 和 Mac 系統上停用密碼認證,請使用您首選的文字編輯器(例如 vi 或 nano)編輯 SSH 守護程式配置檔案,並新增或更改以下行 −
PasswordAuthentication no
這將停用密碼認證,要求使用者使用其他方法(例如公鑰認證)。
預防措施
保護 SSH 訪問的最佳實踐
瞭解如何修復“認證失敗次數過多”錯誤固然重要,但採取預防措施並保護您的 SSH 訪問也同樣重要。保護 SSH 訪問的最佳實踐之一是停用 root 登入,因為它可能存在潛在的安全風險。
相反,建立一個具有管理員許可權的單獨使用者帳戶,並使用該帳戶進行所有 SSH 登入。此外,執行強密碼策略並確保僅使用安全的加密協議(如 AES 或 3DES)。
保護 SSH 訪問的另一個重要方面是實施雙因素身份驗證 (2FA)。這透過要求使用者在獲得訪問許可權之前提供兩種身份驗證方式來增加額外的安全層。
定期監控日誌和使用模式
定期監控日誌和使用模式可以幫助及早發現系統上的任何可疑活動。建議您設定審計工具(例如 fail2ban),該工具監控身份驗證日誌並在多次登入失敗嘗試後阻止 IP 地址。
此外,在您的 sshd_config 檔案中啟用詳細日誌記錄,以便您擁有有關每次 SSH 登入嘗試(包括成功的嘗試)的詳細資訊。除了監控日誌外,監控使用模式(例如一天中的時間使用趨勢或某些帳戶中的異常活動)也很有益。
結論
本文提供了一份關於如何修復 SSH 認證失敗次數過多錯誤的綜合指南。我們首先了解了 SSH 是什麼以及為什麼它很重要,然後簡要解釋了錯誤及其後果。本文隨後概述了使用者可以遵循的故障排除技巧來解決問題,以及可以採取的預防措施來保護 SSH 訪問。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP