Linux服务器如何配置双因子认证(2FA) 谷歌验证器安装教程

陌墨酱_4044

陌墨酱_4044

2026-04-25

241人浏览

原创

centos 7配置google authenticator实现ssh双因子认证的核心是正确部署pam_google_authenticator.so模块并开启challengeresponseauthentication,最易失败环节为pam配置顺序错误、.google_authenticator文件权限不合规、selinux策略未调整、系统时间不同步及客户端未启用keyboard-interactive认证方式。

linux服务器如何配置双因子认证(2fa) 谷歌验证器安装教程

直接上结论:CentOS 7 上配 Google Authenticator 做 SSH 双因子认证,核心是 pam_google_authenticator.so 模块 + sshd 的 ChallengeResponseAuthentication 开启,但最常失败的环节不是安装,而是 PAM 配置顺序和用户级配置文件权限。

为什么 pam_google_authenticator.so 加在 auth include password-auth 上面?

PAM 认证链是顺序执行的,一旦某条规则返回 success 或 ignore,后续模块可能被跳过。如果把 Google 验证器模块放在 password-auth 之后,系统会先走完密码验证(成功即登录),根本不会触发二次验证。

  • auth [success=done default=ignore] 是危险写法,容易绕过 —— 不要用
  • 必须用 auth [success=ok default=die] 或更稳妥的 auth required pam_google_authenticator.so
  • 确保它出现在 auth include password-auth 的正上方,且前面没有 requisite 类模块提前终止流程

google-authenticator 命令生成的 .google_authenticator 文件为什么总被拒绝读取?

OpenSSH 默认启用 StrictModes yes,它会检查用户家目录、~/.ssh 和 ~/.google_authenticator 的权限。只要其中任意一项不满足严格限制(比如目录可被 group/o 写),PAM 就静默拒绝验证,sshd -d 日志里只显示 authentication failure,毫无提示。

Linux Ai Server
Linux Ai Server

Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。

下载
  • 运行后立刻执行:chmod 700 ~ && chmod 600 ~/.google_authenticator && chmod 700 ~/.ssh
  • 确认 ~ 所属用户和组正确:ls -ld ~ 输出应为 drwx------. 1 user user
  • 别忽略 SELinux —— 若启用,需加策略:setsebool -P authlogin_nis_enabled 1(CentOS 7 默认 enforcing)

时间不同步会导致验证码始终无效

Google Authenticator 默认使用 TOTP(基于时间的一次性密码),服务端与客户端时间差超过 30 秒即失效。Linux 服务器若未同步 NTP,新生成的密钥几乎必然失败。

  • 检查时间偏移:ntpdate -q pool.ntp.org 或 chronyc tracking
  • 强制同步一次:systemctl stop chronyd && ntpdate -s pool.ntp.org && systemctl start chronyd
  • 验证是否生效:google-authenticator -t -d(-d 开启 debug,会输出本地时间戳与期望窗口)

测试时为什么输对验证码还是连不上?

常见真问题不是“验证码错”,而是 SSH 连接根本没走到 PAM 的 Google 验证环节 —— 大概率因为客户端没发 ChallengeResponse 请求。

  • 客户端必须显式启用键盘交互:ssh -o PubkeyAuthentication=no -o PreferredAuthentications=keyboard-interactive user@host
  • 如果用 OpenSSH 8.2+,默认禁用 keyboard-interactive,需在 ~/.ssh/config 加:PreferredAuthentications keyboard-interactive,password
  • 别依赖 PuTTY 图形界面自动弹窗 —— 它可能缓存了旧的认证方式,重启会话或清空“Connection → Data → Auto-login username”再试

最关键的细节藏在日志里:tail -f /var/log/secure | grep google 能看到模块加载、密钥读取、时间窗口比对等每一步结果;而 sshd -d 启动调试模式时,PAM 流程会逐行打印,这才是定位“卡在哪”的唯一可靠手段。

相关文章

谷歌浏览器
谷歌浏览器

谷歌浏览器Google Chrome是一款可让您更快速、轻松且安全地使用网络的浏览器。Google Chrome的设计超级简洁,使用起来得心应手。这里提供了谷歌浏览器纯净安装包,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

linux 谷歌 linux服务器

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

920

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2972

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

996

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

889

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2696

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5032

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

787

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习