Ubuntu 20.04 开启 Google Authenticator 二步验证(保护 SSH 登录)
1. 安装 Google Authenticator PAM 模块
sudo apt update
sudo apt install libpam-google-authenticator
2. 配置每个用户的密钥(绑定手机)
执行以下命令:
google-authenticator
它会问你几个问题,推荐这样回答:
问题 | 推荐回答 |
---|
Do you want authentication tokens to be time-based? (y/n) | y |
Save the emergency scratch codes? (y/n) | y |
Update your ~/.google_authenticator file (y/n) | y |
Disallow multiple uses of the same token? (y/n) | y |
Increase the time skew window? (y/n) | n |
Enable rate-limiting? (y/n) | y |
✅ 扫码绑定到你的 Google Authenticator(谷歌身份验证器)App!
(如果你误操作了,可以删掉 `~/.google_authenticator` 文件重新执行)
3. 配置 PAM 认证模块
编辑 SSH 的 PAM 配置文件:
sudo vim /etc/pam.d/sshd
在文件最后加一行:
auth required pam_google_authenticator.so
⚡注意:不要删掉其他行,只是在末尾**新增这一行**。
4. 配置 SSH 服务启用 2FA
编辑 SSH 配置文件:
sudo vim /etc/ssh/sshd_config
修改这两行(如果没有就添加):
KbdInteractiveAuthentication yes ChallengeResponseAuthentication yes
UsePAM yes
PasswordAuthentication yes
(意味着先输密码,再输验证码)
5. 重启 SSH 服务
sudo systemctl restart ssh
✅ **现在开始,每次 SSH 登录时,会先让你输入密码,再输入 Google Authenticator 动态码。**
# ⚠️注意事项
- 第一次不要直接关闭你的终端!建议**开另一个 SSH 连接测试**确认没问题再退出。
- 如果手机丢失,可以用前面保存的**Emergency Codes**应急登录。
- 如果是云服务器,建议开通**控制台登录**防止被锁死。
文章评论