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 博客
| 归档时间: |
|
| 查看次数: |
8002 次 |
| 最近记录: |