在Linux系統上實施SSH的兩因素身份驗證(2FA),通過在授予訪問權限之前需要兩種形式的驗證來增強安全性。這是使用Google Authenticator設置2FA的分步指南,這是為此目的最受歡迎的工具之一:
安裝Google Authenticator :
首先,安裝Google Authenticator PAM模塊。在像Ubuntu這樣的基於Debian的系統上,您可以通過運行來執行此操作:
<code>sudo apt-get update sudo apt-get install libpam-google-authenticator</code>
在基於紅帽的系統(例如CentOS)上,您可以使用:
<code>sudo yum install google-authenticator</code>
為您的用戶配置Google Authenticator :
將google-authenticator
命令作為用戶運行:將使用SSH:
<code>google-authenticator</code>
此命令將生成一個秘密密鑰和QR碼。根據您的喜好回答提示,例如是否使用基於時間的令牌以及是否應每30秒更新密鑰。
配置PAM以使用Google Authenticator :
通過打開file /etc/pam.d/sshd
並在最後添加以下行:編輯SSH的PAM配置:
<code>auth required pam_google_authenticator.so</code>
修改SSHD配置:
OPEN /etc/ssh/sshd_config
並確保配置以下設置:
<code>ChallengeResponseAuthentication yes PasswordAuthentication no UsePAM yes</code>
然後重新啟動SSH服務以應用更改:
<code>sudo systemctl restart sshd</code>
在Linux系統上為SSH實施兩因素身份驗證提供了幾種安全好處:
有幾種工具和軟件選項可用於在Linux上為SSH設置2FA,包括:
在Linux服務器上為SSH配置2FA時,您可能會遇到幾個常見問題。這是對它們進行故障排除的方法:
配置2FA後,SSH連接失敗:
ChallengeResponseAuthentication
設置為yes
,並將UsePAM
設置為yes
IN /etc/ssh/sshd_config
。auth required pam_google_authenticator.so
將正確添加到/etc/pam.d/sshd
中。驗證代碼未接受:
google-authenticator
生成的秘密鍵是否由PAM模塊正確存儲和使用。身份驗證提示未出現:
/etc/pam.d/sshd
事項中的條目順序。確保不會被後續條目覆蓋Google Authenticator條目。登錄循環或懸掛:
調試SSHD :使用帶有SSH的-d
標誌啟用調試模式並捕獲日誌以了解登錄過程失敗的位置:
<code>ssh -v user@host</code>
檢查日誌:檢查系統日誌是否有任何相關錯誤消息:
<code>sudo journalctl -u sshd</code>
硬件令牌問題:
通過遵循這些故障排除步驟,您可以解決常見問題並確保2FA在Linux服務器上的SSH正常工作。
以上是如何在Linux中實現SSH的兩因素身份驗證(2FA)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!