Google 双因素身份验证不适用于 'su' 命令
Google two factor authentication not work on 'su' command
我在 linux 服务器上安装了 google 双因素身份验证。
(感谢:https://github.com/google/google-authenticator-libpam)
当我尝试通过 ssh 访问 root
帐户时,身份验证器工作正常。
Verification code: .....
Password: ....
[root@hostname] works fine :)
但是!!访问其他用户帐户并尝试使用 su
访问 root
帐户,
验证器只需要密码。
[user@hostname] whoami
user
[user@hostname] su
password: .....
[root@hostname] What?!!!
我将所有配置设置为默认值。
我该如何解决?
这是默认的工作方式。由于您使用的是 google-authenticator-libpam
模块,因此您只是通过将 auth required pam_google_authenticator.so
添加到 sshd
配置文件来向实际的外部接口登录添加两因素身份验证。
正确的安全实施(或至少一种正确的方法)是不允许 root 用户进行外部登录,更进一步并锁定 ssh 以仅允许启用双重身份验证的用户登录更好。
为此,您需要在 sshd
配置中添加以下内容:
AllowUsers admin bob
要为 su -
启用 Google 双因素身份验证,您必须在文件 /etc/pam.d/su
末尾添加以下参数:
auth required pam_google_authenticator.so
保存并尝试使用普通用户登录,然后su -
,它会提示输入验证码。
即不需要重新启动 sshd
服务。
我在 linux 服务器上安装了 google 双因素身份验证。
(感谢:https://github.com/google/google-authenticator-libpam)
当我尝试通过 ssh 访问 root
帐户时,身份验证器工作正常。
Verification code: .....
Password: ....
[root@hostname] works fine :)
但是!!访问其他用户帐户并尝试使用 su
访问 root
帐户,
验证器只需要密码。
[user@hostname] whoami
user
[user@hostname] su
password: .....
[root@hostname] What?!!!
我将所有配置设置为默认值。
我该如何解决?
这是默认的工作方式。由于您使用的是 google-authenticator-libpam
模块,因此您只是通过将 auth required pam_google_authenticator.so
添加到 sshd
配置文件来向实际的外部接口登录添加两因素身份验证。
正确的安全实施(或至少一种正确的方法)是不允许 root 用户进行外部登录,更进一步并锁定 ssh 以仅允许启用双重身份验证的用户登录更好。
为此,您需要在 sshd
配置中添加以下内容:
AllowUsers admin bob
要为 su -
启用 Google 双因素身份验证,您必须在文件 /etc/pam.d/su
末尾添加以下参数:
auth required pam_google_authenticator.so
保存并尝试使用普通用户登录,然后su -
,它会提示输入验证码。
即不需要重新启动 sshd
服务。