某些用户的谷歌身份验证器

use*_*942 4 ssh authentication google pam two-factor-authentication

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

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

细节:

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

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

user1 通过 SSH 登录,填写他的密码和谷歌身份验证器应用程序提供的代码,他就可以登录了。

user2 通过 SSH 登录,填写他的密码就可以登录了(他不需要输入密码。

最好有 2 个用户组,一个需要 google 身份验证器代码,另一个不需要它。

小智 6

使用以下解决方案,可以为特定用户禁用 PAM 模块(谷歌身份验证器)-

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

sudo groupadd <groupname>
Run Code Online (Sandbox Code Playgroud)

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

sudo useradd <username>
sudo usermod -a -G <groupname> <username>
Run Code Online (Sandbox Code Playgroud)

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

auth [success=done default=ignore] pam_succeed_if.so user ingroup <groupname>
Run Code Online (Sandbox Code Playgroud)

可选的-

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

%<groupname>ALL=(ALL)       NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

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

引用自 - TechManyu 博客


Z3r*_*yte 2

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

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