Google双因素身份验证不适用于'su'命令

时间:2018-02-13 06:31:57

标签: authentication two-factor-authentication one-time-password

我在我的linux服务器上安装了谷歌双因素身份验证 (感谢:https://github.com/google/google-authenticator-libpam

当我尝试通过ssh访问“root”帐户时,身份验证工作正常。

验证码:.....
密码:.... [root @ hostname]工作正常:)

但是!!访问其他用户帐户并尝试使用“su”访问“root”帐户, 验证者只需要密码。

[user @ hostname] whoami
用户
[user @ hostname] su
密码:.....
[root @ hostname]什么?!!!

我将所有配置设置为默认值。

我该如何解决?

2 个答案:

答案 0 :(得分:0)

这是默认方式。由于您使用的是google-authenticator-libpam模块,因此您只需通过添加" auth required pam_google_authenticator.so"添加双因素身份验证到实际的外部接口登录。到sshd配置文件。

正确的安全实现(或至少一种正确的方法)是不允许root用户进行外部登录,更进一步并锁定ssh以仅允许启用了双因素身份验证的用户登录更好。

为此,您需要在sshd config中添加以下内容

  

AllowUsers admin bob

答案 1 :(得分:0)

要为su -启用Google两因素身份验证,您必须在文件/etc/pam.d/su的末尾添加以下参数:

auth required pam_google_authenticator.so

保存并尝试使用普通用户登录,然后使用su -登录,它将提示您输入验证码。 即无需重新启动sshd服务。