CentOS 7 配置系統用戶基於 SSH 的 Google 身份驗證
在當今的網絡環境中,安全性是每個系統管理員必須重視的問題。SSH(Secure Shell)是一種安全的遠程登錄協議,而使用 Google 身份驗證器進行雙重身份驗證(2FA)可以進一步增強 SSH 的安全性。本文將介紹如何在 CentOS 7 上配置系統用戶的 SSH 基於 Google 身份驗證的雙重身份驗證。
前提條件
- 一台運行 CentOS 7 的伺服器。
- 已安裝並配置好的 SSH 服務。
- 擁有 root 權限或 sudo 權限的用戶。
- 安裝 Google 身份驗證器的手機應用。
安裝 Google 身份驗證器
首先,我們需要安裝 Google 身份驗證器的 PAM 模組。這可以通過以下命令來完成:
sudo yum install epel-release
sudo yum install google-authenticator配置 Google 身份驗證器
安裝完成後,使用以下命令為每個用戶生成一個密鑰:
google-authenticator這個命令會提示你回答幾個問題,建議根據需要選擇“是”或“否”。生成的密鑰和 QR 碼將顯示在終端中。使用 Google 身份驗證器應用掃描 QR 碼,將其添加到你的應用中。
配置 PAM
接下來,我們需要配置 PAM 以支持 Google 身份驗證。編輯 PAM 的 SSH 配置文件:
sudo vi /etc/pam.d/sshd在文件的末尾添加以下行:
auth required pam_google_authenticator.so配置 SSH 服務
然後,我們需要修改 SSH 的配置文件,以啟用挑戰式身份驗證。編輯 SSH 配置文件:
sudo vi /etc/ssh/sshd_config找到以下行並確保它們被設置為:
ChallengeResponseAuthentication yes
UsePAM yes如果這些行被註釋掉(以 # 開頭),請去掉註釋並保存文件。
重啟 SSH 服務
完成上述配置後,重啟 SSH 服務以使更改生效:
sudo systemctl restart sshd測試配置
現在,你可以嘗試通過 SSH 登錄到你的伺服器。當你輸入密碼後,系統會提示你輸入 Google 身份驗證器生成的代碼。這樣,你的 SSH 登錄就啟用了雙重身份驗證。
故障排除
如果在登錄過程中遇到問題,請檢查以下幾點:
- 確保 PAM 配置文件和 SSH 配置文件的更改已正確保存。
- 檢查 SSH 服務是否正在運行。
- 確保 Google 身份驗證器應用中的時間與伺服器時間同步。
總結
通過在 CentOS 7 上配置基於 SSH 的 Google 身份驗證,你可以顯著提高伺服器的安全性。這種雙重身份驗證方法不僅能防止未經授權的訪問,還能保護你的數據安全。對於需要高安全性的環境,這是一個非常有效的解決方案。如果你正在尋找可靠的 香港 VPS 服務,Server.HK 提供多種選擇以滿足你的需求。