在 Ubuntu 24.04 中设置二步验证(2FA)可以显著提高系统的安全性。以下是详细的设置步骤:
### 方法 1:使用 Google Authenticator(推荐)
#### 1. 安装所需软件包
```bash
sudo apt update
sudo apt install libpam-google-authenticator qrencode -y
```
#### 2. 为当前用户生成验证密钥
```bash
google-authenticator
```
按照交互式提示操作:
- 输入 y
生成新密钥
- 输入 y
更新配置文件
- 输入 y
启用动态验证码
- 输入 y
允许多次使用同一验证码(根据安全需求)
- 输入 y
限制验证码有效期(推荐)
#### 3. 备份你的紧急刮刮码
屏幕会显示:
```
Your emergency scratch codes are:
11923833
38203948
28394820
93028472
84720193
```
请将这些代码安全保存(建议打印或写在安全的地方),它们用于无法获取验证码时登录。
#### 4. 配置 PAM 启用二步验证
编辑 PAM 配置文件:
```bash
sudo nano /etc/pam.d/common-auth
```
在文件末尾添加:
```
auth required pam_google_authenticator.so
```
#### 5. 修改 SSH 配置
```bash
sudo nano /etc/ssh/sshd_config
```
确保以下设置:
```
ChallengeResponseAuthentication yes
UsePAM yes
```
然后重启 SSH 服务:
```bash
sudo systemctl restart sshd
```
#### 6. 使用手机端设置
1. 安装 Google Authenticator 应用(iOS/Android)
2. 选择"扫描条形码"或手动输入终端显示的密钥
3. 应用将每 30 秒生成一个 6 位数验证码
补充说明:
sudo nano /etc/pam.d/common-auth中的
#auth requisite pam_deny.so #pam_deny.so要注释掉