CentOS 系统上启用 2FA
2024-07-28 18:05:24
#### 在 CentOS 系统上安装 Google Authenticator 并配置用户自行设置 2FA
为了增强系统的安全性,可以在 CentOS 系统上安装 Google Authenticator,并允许用户在登录后自行设置两步验证(2FA)。以下是详细步骤:
##### 1. 安装 Google Authenticator
首先,需要安装 Google Authenticator 工具。
```bash
sudo yum install -y google-authenticator
```
如果在安装过程中遇到“没有可用软件包 google-authenticator”的错误,可能是因为默认的软件仓库中没有该软件包。可以尝试以下方法来解决这个问题:
##### 使用 EPEL 仓库
EPEL(Extra Packages for Enterprise Linux)是一个由 Fedora 社区维护的仓库,提供了许多额外的软件包,包括 Google Authenticator。
1. **安装 EPEL 仓库**:
```bash
sudo yum install -y epel-release
```
2. **更新仓库缓存**:
```bash
sudo yum makecache fast
```
3. **安装 Google Authenticator**:
```bash
sudo yum install -y google-authenticator
```
##### 2. 配置 PAM (Pluggable Authentication Modules)
编辑 `/etc/pam.d/sshd` 文件,添加以下行:
```bash
auth required pam_google_authenticator.so nullok
```
`nullok` 选项允许用户在没有 `.google_authenticator` 文件的情况下进行登录。建议将此行添加在 `auth substack password-auth` 的后面,以确保验证码验证在密码验证之后进行。
##### 3. 配置 SSH 服务
编辑 `/etc/ssh/sshd_config` 文件,找到以下行并修改:
```bash
ChallengeResponseAuthentication yes
```
确保 `UsePAM` 设置为 `yes`:
```bash
UsePAM yes
```
##### 4. 重启 SSH 服务
重启 SSH 服务以应用更改:
```bash
sudo systemctl restart sshd
```
##### 5. 通知用户设置 2FA
通知用户在登录系统后自行设置 2FA。用户可以按照以下步骤操作:
1. **登录系统**:
用户使用普通用户帐户登录系统。
2. **运行 Google Authenticator 命令**:
```bash
google-authenticator
```
运行上述命令后,会有一系列提示,用户按照提示进行操作:
1. **更新 `.google_authenticator` 文件:**
- 输入 `y` 确认更新。
2. **禁止同一验证令牌多次使用:**
- 输入 `y` 确认禁止,以增加安全性。
3. **调整时间窗口:**
- 输入 `y` 扩大时间窗口至17个代码,允许最大4分钟的时间偏差。
- 输入 `n` 保持默认的3个代码窗口,允许最大30秒的时间偏差。
4. **启用速率限制:**
- 输入 `y` 启用速率限制,每30秒最多3次登录尝试。
- 输入 `n` 不启用速率限制。
在配置过程中,用户会看到一个二维码和一串密钥。用户可以使用 Google Authenticator 应用扫描二维码,或者手动输入密钥来添加验证器。
##### 6. 测试 2FA
用户在设置完成后,可以尝试重新登录系统,此时会提示用户输入 Google Authenticator 生成的验证码。
##### 7. 可选配置
如果你希望对 root 用户也启用 2FA,可以对 root 用户重复上述步骤。
##### 8. 常见问题
- **如果用户丢失了验证器应用怎么办?**
确保用户有一个备份的恢复代码,或者在配置过程中生成的密钥。
- **如何禁用 2FA?**
用户可以删除 `/home/yourusername/.google_authenticator` 文件,并从 `/etc/pam.d/sshd` 文件中移除 `auth required pam_google_authenticator.so` 行,然后重启 SSH 服务。
通过以上步骤,你可以在 CentOS 系统上安装 Google Authenticator,并让用户在登录后自行设置 2FA,从而提高系统的安全性。
分类:分享 关键词:centos,2FA
评论(0) 浏览(118)