当前位置: 首页 > news >正文

如何在 Linux SSH 登录中配置 Google Authenticator 双因素认证?

在 Linux SSH 登录中配置 Google Authenticator 双因素认证,最稳妥的方式是通过 PAM 模块 libpam-google-authenticator 实现。该方案基于 TOTP 算法,在原有密码或密钥认证基础上增加动态验证码,适用于需要加强远程登录安全的服务器环境。配置核心在于修改 SSH 和 PAM 配置文件,但必须注意 OpenSSH 版本差异以防服务启动失败。

先说结论:这是标准的 PAM 认证模块配置过程,但 OpenSSH 8.8+ 版本配置指令有变,配置错误可能导致无法登录。

  • 先判断:执行 ssh -V 确认 OpenSSH 版本,Debian/Ubuntu 与 CentOS/RHEL 安装包名称不同。
  • 优先做:操作前保持当前 SSH 连接不断开,备份 /etc/ssh/sshd_config/etc/pam.d/sshd
  • 再验证:新开一个终端窗口测试登录,确认成功后再关闭旧会话。

1. 检查版本与安装模块

首先确认 OpenSSH 版本,不同版本配置指令存在兼容性差异:

ssh -V

根据系统类型安装认证模块:

# Debian/Ubuntu 系统
sudo apt-get update
sudo apt-get install libpam-google-authenticator# CentOS/RHEL 系统 (需先启用 EPEL 源)
sudo yum install epel-release
sudo yum install google-authenticator

2. 生成用户密钥

在需要开启双因素认证的每个用户目录下运行 google-authenticator。命令会交互式提问,建议依次选择:

  • 基于时间生成令牌:选 y
  • 更新授权文件:选 y
  • 禁止重用令牌:选 y
  • 增加速率限制:选 y

运行结束后,终端会显示一个二维码和一组应急代码。请务必截图保存二维码,并抄写应急代码到安全位置,这是丢失手机后的唯一找回途径。

3. 配置 PAM 模块

编辑 /etc/pam.d/sshd 文件,在文件末尾添加以下内容:

auth required pam_google_authenticator.so

4. 配置 SSH 服务 (关键步骤)

编辑 /etc/ssh/sshd_config 文件。根据 ssh -V 显示的版本,选择对应的配置指令:

OpenSSH 8.8 及以上版本:

KbdInteractiveAuthentication yes
# AuthenticationMethods 根据需求选择:
# 仅密钥 + 验证码:publickey,keyboard-interactive
# 仅密码 + 验证码:keyboard-interactive
AuthenticationMethods publickey,keyboard-interactive

OpenSSH 8.8 以下版本:

ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

注意:AuthenticationMethods 的具体值取决于你是否同时使用密钥登录。如果仅使用密码 + 验证码,可设为 keyboard-interactive。修改前建议备份原文件。

5. 重启 SSH 服务

执行以下命令使配置生效,并检查服务状态:

# systemd 系统
sudo systemctl restart sshd
sudo systemctl status sshd# 旧版 init 系统
sudo service ssh restart

如果 status 显示失败,请立即使用当前未断开的会话回滚配置。

6. 验证是否生效

不要关闭当前已登录的 SSH 窗口。打开一个新的终端窗口,尝试使用 SSH 连接服务器。如果配置正确,登录过程中会在输入密码后额外提示输入 Verification code:。输入手机 App 上显示的 6 位数字,若能成功登录,说明配置生效。

此外,可以查看系统日志确认认证过程:

# Debian/Ubuntu
tail -f /var/log/auth.log# CentOS/RHEL
tail -f /var/log/secure

日志中应包含 pam_google_authenticator 相关的记录。

7. 常见坑与排查

1. 时间不同步导致验证码错误:TOTP 算法依赖系统时间,如果服务器时间与手机时间偏差过大,验证码将无效。请确保服务器已配置 NTP 时间同步。

# 检查时间同步状态
timedatectl status
# 或
chronyc tracking

2. 配置错误导致无法登录:如果在修改 sshd_config 后重启服务失败或无法登录,可通过云服务商的控制台(VNC/救援模式)登录服务器回滚配置,或利用之前保持开放的 SSH 会话进行修改。

3. SELinux 拦截:在开启 SELinux 的 CentOS/RHEL 系统上,PAM 模块可能因权限问题被拦截。若日志提示权限错误,可尝试检查 SELinux 日志或暂时设为宽容模式排查。

# 临时设为宽容模式测试
setenforce 0
# 查看 SELinux 拦截日志
ausearch -m avc -ts recent

4. 根用户锁定:建议不要直接禁用根用户的密码登录,而是为根用户也配置好双因素认证,或限制根用户仅通过密钥 + 双因素登录,避免 emergency 情况下无法进入系统。

参考来源

  • Google Authenticator PAM Module 官方仓库:github.com/google/google-authenticator
  • Linux PAM 文档:linux-pam.org
  • OpenSSH Release Notes: openssh.com

原文链接:https://www.zjcp.cc/ask/11405.html

http://www.jsqmd.com/news/836509/

相关文章:

  • 2026年质量好的电动葫芦可靠供应商推荐 - 品牌宣传支持者
  • 2026年口碑好的隔热海绵/EPDM海绵/导电海绵厂家哪家好 - 行业平台推荐
  • 2026年4月回转式整列机公司推荐,自动翻板机/充磁零件整列机/弹片整列机/圆片零件整列机,回转式整列机厂家哪家好 - 品牌推荐师
  • 2026年口碑好的餐饮商用一次性筷子/潍坊一次性筷子长期合作厂家推荐 - 品牌宣传支持者
  • 2026年知名的IXPE泡棉/PVC泡棉/PE泡棉/防静电泡棉口碑好的厂家推荐 - 行业平台推荐
  • 2026年评价高的阻燃EVA/环保EVA/彩色EVA/防静电EVA厂家综合对比分析 - 行业平台推荐
  • 2026年口碑好的玻璃杯订制/安徽玻璃杯制品多家厂家对比分析 - 品牌宣传支持者
  • 2026年比较好的济宁喷射杀虫剂横向对比厂家推荐 - 行业平台推荐
  • 2026年质量好的昆山阻燃泡棉/无味泡棉/防静电泡棉/泡棉定制加工厂家推荐 - 行业平台推荐
  • 2026年质量好的随车抓木机/山东抓木机/固定式抓木机/车载移动式抓木机横向对比厂家推荐 - 品牌宣传支持者
  • 2026年评价高的重汽豪沃蓝牌随车吊/建材运输随车吊优质厂家推荐榜 - 品牌宣传支持者
  • 腾讯云 CVM 代金券抵扣规则与按量转包年包月怎么操作?
  • 2026年口碑好的盆栽用椰糠泥炭营养基质/泥炭厂家哪家好 - 行业平台推荐
  • 2026年评价高的青岛花卉用椰糠泥炭/青岛泥炭稳定供货厂家推荐 - 行业平台推荐
  • 2026年有实力的高端门窗安装/高端大平层门窗/高端铝合金门窗/封阳台高端门窗源头工厂推荐 - 品牌宣传支持者
  • 2026年知名的青岛袋装椰糠/透气泥炭椰糠原料稳定供货厂家推荐 - 品牌宣传支持者
  • 2026年4月无人值守称重系统生产推荐,无人值守称重系统/平台秤/智能称重系统/叉车秤,无人值守称重系统制造商怎么选择 - 品牌推荐师
  • 2026年性价比高的高端豪宅门窗/高端门窗定制加工厂家推荐 - 品牌宣传支持者
  • 2026年质量好的袋装椰糠/青岛椰糠砖优质公司推荐 - 品牌宣传支持者
  • 大陆居民国际驾照申请方法
  • 2026年质量好的昆山无味泡棉/阻燃泡棉/江苏泡棉优质厂家推荐榜 - 行业平台推荐
  • 2026年口碑好的XPE海绵/防静电海绵/PE海绵横向对比厂家推荐 - 行业平台推荐
  • 2026年口碑好的山东建材运输随车吊/城乡建房随车吊/蓝牌随车吊/小型蓝牌随车吊厂家精选合集 - 品牌宣传支持者
  • 2026年口碑好的上海PE泡棉/上海防静电泡棉精选推荐公司 - 品牌宣传支持者
  • 2026年评价高的车载折臂吊/折臂吊起重机/折臂吊机厂家对比推荐 - 行业平台推荐
  • 2026年质量好的佛山Geo公司/ChatGPT Geo排名优化/Geo用户好评推荐 - 行业平台推荐
  • 2026年评价高的新工艺玻璃杯/胆壳连体玻璃杯/玻璃杯订制/玻璃杯制品优质厂家汇总推荐 - 品牌宣传支持者
  • 2026年热门的小型折臂吊/船用折臂吊/折臂吊/折臂吊机推荐厂家精选 - 行业平台推荐
  • 黑客入侵后清除历史命令记录如何通过 bash_history 恢复取证?
  • 2026年知名的台州全自动吹瓶机/一出二吹瓶机/全自动吹瓶机/小型吹瓶机精选厂家推荐 - 品牌宣传支持者