我想启用 MFA 以在运行 Debian 的笔记本电脑上使用 sudo 命令。我按照步骤启用了此功能,并使验证码可用于桌面登录。但在终端中,当我输入验证码时,它一直显示“抱歉,请重试。”。我不需要为 SSH 启用它。
这是我尝试过的步骤,我遵循指南在 Debian 上启用 MFA:
- 我安装了 google lib pam 模块。
- 我跑去
google-authenticator
设置 MFA,并用手机扫描二维码。 - 在设置过程中,我输入了验证码,成功了。(第一次没有成功,因为 Debian 没有同步系统时间。我不得不执行额外的步骤来让系统时间自动更新,从而解决了这个问题)。
- 我还对其进行了设置,以便它可以使用当前代码两侧的代码,因此时间同步应该不是问题。
然后,我将该auth required google_pam_authenticator.so
行添加到目录中的各个文件中/etc/pam.d/
,结果好坏参半。(我每次只将其添加到一个文件中)
- 添加它
common-session
应该可以启用桌面登录的 MFA,它可以做到并且运行良好。 - 添加
common-auth
应该为桌面登录和 sudo 启用 MFA,但它仅适用于桌面登录。 - 添加
sudo
如下:
#%PAM-1.0
# Set up user limits from /etc/security/limits.conf.
session required pam_limits.so
auth required pam_google_authenticator.so
@include common-auth
@include common-account
@include common-session-noninteractive
每次输入验证码时,都会出现同样的错误:“抱歉,请再试一次。”备份“刮擦码”也不起作用,我认为这与时间无关。
我尝试删除 Google 身份验证器配置并多次设置所有内容。每次我都检查.google-authenticator
主目录中的文件是否与我在手机应用中使用的文件匹配。