我尝试为 Ubuntu 18.04 服务器的 SSH 设置 PAM 身份验证(通过修改中的说明)本指南)。我正在尝试设置登录名,以便这两个组合中的任何一个都足以登录服务器:
1) 公钥 + 令牌 2) 密码 + 令牌
但是,无论我尝试使用哪种设置,它都不起作用。我正在编辑以下两个文件:
/etc/ssh/sshd_config
/etc/pam.d/sshd
据我了解,我需要以下两行/etc/ssh/sshd_config
:
UsePAM yes
AuthenticationMethods password,keyboard-interactive publickey,keyboard-interactive
然后注释掉以下行/etc/pam.d/sshd
:
#@include common-auth
但如果我像这样设置它,它会导致一个有趣的状态:
1)如果我尝试使用公钥+令牌登录,一切正常:
Authenticated with partial success.
Verification code:
我输入我的 2FA 令牌并进入。
2)但是,如果我尝试密码+令牌,我首先会收到输入密码的提示
[email protected]'s password:
但正确的 SSH 密码才不是工作。对于此提示有效的是 2FA 令牌(为什么?它明确要求输入密码)。通过此提示后,我会收到提示
Verification code:
它还要求令牌。因此,我可以通过连续两次输入相同的令牌来成功登录服务器。
我究竟做错了什么?我怎样才能得到我想要的东西?我应该提供任何日志吗?我是不是想做一些不合理的事情?
谢谢!