You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24.01配置SSH谷歌身份验证器MFA后登录无验证请求且密码验证失败

Ubuntu 24.01配置SSH谷歌身份验证器MFA后登录无验证请求且密码验证失败

看起来你在配置SSH双因素认证时遇到了典型的配置冲突问题,我帮你一步步排查可能的原因:

1. 检查OpenSSH配置的兼容性问题

Ubuntu 24.01搭载的OpenSSH版本已经比较新,ChallengeResponseAuthentication这个选项其实已经被标记为过时,取而代之的是KbdInteractiveAuthentication。同时必须确保UsePAM是开启的,否则PAM模块的配置不会生效。

打开/etc/ssh/sshd_config,确认以下配置:

UsePAM yes
KbdInteractiveAuthentication yes
# 可以保留ChallengeResponseAuthentication yes作为兼容,但主要生效的是上面的选项

修改后记得重启SSH服务:

sudo systemctl restart sshd

2. 排查PAM配置的逻辑问题

你添加的PAM规则顺序和参数可能导致验证流程异常:

  • auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf:这个规则的success=1意味着如果IP在白名单内,会跳过下一个PAM模块(也就是谷歌验证器),这部分是对的,但如果IP不在白名单,会继续执行下一个模块。
  • 但要注意,默认的/etc/pam.d/sshd里可能已经有其他auth规则,比如auth include common-auth,如果你的自定义规则放在了这些默认规则后面,可能会被覆盖或者导致验证逻辑混乱。

建议调整PAM配置的顺序,把你的自定义规则放在auth include common-auth之前,比如:

# 先执行IP白名单检查
auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
# 再执行谷歌验证器
auth required pam_google_authenticator.so
# 最后执行默认的密码验证(如果需要同时保留密码+MFA的话)
auth include common-auth

注意:如果你的需求是MFA+密码双重验证,就保留auth include common-auth;如果只需要MFA验证,可以注释掉这一行,但通常建议双重验证更安全。

3. 确认谷歌身份验证器已正确初始化

你有没有在需要使用MFA的用户账户下执行过google-authenticator命令?这个命令会生成密钥、验证码,并创建~/.google_authenticator文件——如果这个文件不存在,PAM模块会直接验证失败,导致你看到的"Permission denied"错误。

切换到目标用户(比如你用来SSH登录的用户),执行:

google-authenticator

按照提示完成配置(建议选择y启用时间同步、禁止多次使用同一验证码等安全选项)。

4. 查看完整的认证日志定位问题

你只贴了部分auth.log内容,完整的日志会告诉你具体是哪个环节出错了。执行以下命令查看最近的SSH认证日志:

sudo tail -n 20 /var/log/auth.log

如果看到类似pam_google_authenticator(sshd:auth): Failed to update secret file或者No such file or directory的错误,就说明用户的~/.google_authenticator文件不存在或者权限不对;如果看到pam_access(sshd:auth): access denied,可能是IP白名单配置有问题。

最后验证

完成以上调整后,重启SSH服务,然后从非白名单IP尝试登录,应该会先提示你输入验证码,再输入密码(或者顺序取决于PAM规则)。如果还是有问题,把完整的auth.log错误信息贴出来,能更精准定位。

备注:内容来源于stack exchange,提问作者Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 08:53:08