更改双重身份验证的顺序

更改双重身份验证的顺序

我正在我们的测试环境中测试一些 CentOS 容器上的 ssh 登录的双因素身份验证。

我从 github 的源代码编译了自己的 rpm,安装并配置了所有内容,并启动并运行了默认设置。首先提示我输入令牌,然后提示我输入用户密码。

我现在想做的是改变这两个因素的顺序。我有一个要求,先要求输入密码,最后要求输入令牌,但我无法配置这一点。

/etc/pam.d/sshd安装后的样子如下:

#%PAM-1.0
auth       required     pam_google_authenticator.so nullokt
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth

我尝试移动第一部分的参数,但没有成功。例如,如果我将 google_authenticator 行移动到第一部分的底部,则只启用密码验证。

编辑:

我读过 PAM 的文档,但无法实现这一点。我尝试将 google-authenticator 与 /etc/pam.d/password-auth 捆绑在一起,但没有任何变化。要么先使用令牌,然后使用密码,要么只使用密码。

答案1

我在 Centos 6.2 上遇到了同样的问题。在我注释掉 pam 文件中的 include 后,它就正常工作了,如下所示。我使用ArchLinux 维基作为参考。

auth       required     pam_unix.so
auth       required     pam_env.so
auth       required     pam_google_authenticator.so
#auth      required     pam_sepermit.so
#auth       include      password-auth
...

相关内容