服务器设置和教程 · 4 10 月, 2024

CentOS 7 配置系統用戶基於 SSH 的 Google 身份驗證

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 提供多種選擇以滿足你的需求。