特定用户的 Google 身份验证器

特定用户的 Google 身份验证器

在我运行 ubuntu 16.04 (LTS) 的其中一台测试服务器上启用 Google 身份验证器 (2 步骤身份验证) 后,我注意到无法再使用服务器上没有 Google 身份验证器配置文件的用户登录。我必须创建一个 Google 身份验证器配置文件 (密钥) 才能让此用户登录。

我现在的问题是:是否可以让某些用户使用 google 身份验证器,而其他用户只需 SSH 登录而无需使用 google 身份验证器。

细节:

user1 有一个带有 google 身份验证器的个人资料。

user2 没有使用 google 身份验证器的个人资料。

user1 通过 SSH 登录,填写自己的密码和 google authenticator 应用程序提供的代码,就可以登录了。

user2 通过 SSH 登录,填写密码即可登录(他不需要输入代码。

理想情况下最好有 2 个用户组,一个需要 Google 身份验证器代码,另一个不需要。

答案1

使用以下解决方案,可以为特定用户禁用 PAM 模块(google authenticator)-

1) 在 Linux 实例上创建用户组。此新组中的用户将禁用 MFA/PAM-

sudo groupadd <groupname>

2)创建用户或将现有用户添加到新创建的组-

sudo useradd <username>
sudo usermod -a -G <groupname> <username>

3)编辑 /etc/pam.d/sshd 文件并添加以下语句以跳过新创建的组的 PAM 模块 -

auth [success=done default=ignore] pam_succeed_if.so user ingroup <groupname>

选修的-

如果这个新组需要完全访问权限,则将以下行添加到 visudo 文件 -

%<groupname>ALL=(ALL)       NOPASSWD: ALL

当创建用户并将其添加到新组时,将跳过这些用户的 MFA。

参考自——TechManyu 博客

答案2

这可能会有帮助:禁用组的 PAM 模块

您可以将一个用户放在一个google-authenticator组中,将另一个用户放在另一个non-google-authenticator组中。

答案3

我没有尝试,但是自述说你可以添加“努洛克“ 选项:

auth required pam_google_authenticator.so nullok

相关内容