(SSH 2FA)公钥或密码 + PAM Google Authenticator

(SSH 2FA)公钥或密码 + PAM Google Authenticator

我正在尝试为我的 SSH 服务器获取双因素身份验证的条件组合(OpenSSH_6.7p1)但读了又读,我还是找不到如何设置我的想法。我刚刚发现了这个邮政和我的情况一样(解释得也更好)但还没有解决。

我已按照所述步骤使用 Google Authenticator TOTP 设置了 2FA 方法这里

尝试登录时我想要实现的目标:

如果提供了有效密钥,则请求 TOTP。
如果没有提供密钥,则请求账户密码,然后请求 TOTP。

我成功配置了其他选项,例如:

  • 公钥 + 密码 + TOTP Google Authenticator (1)
  • 公钥 + TOTP (2)
  • 密码 + TOTP (3)

这意味着,我将其ChallengeResponseAuthentication改为。我已经注释掉了案例 2 中的行。我也尝试了文件中指令的不同选项(案例1,2)。 阅读 SSH 手册后,我猜问题出在:yessshd_config@include common-authpam.d/sshdAuthenticationMethodssshd_config
pam.d/sshd

UsePAM 启用可插入身份验证模块接口。如果设置为“yes”,则除了对所有身份验证类型进行 PAM 帐户和会话模块处理外,还将启用使用 ChallengeResponseAuthentication 和 PasswordAuthentication 的 PAM 身份验证。
由于 PAM 质询-响应身份验证通常与密码身份验证起着同等作用,因此您应该禁用 PasswordAuthentication 或 ChallengeResponseAuthentication。

如果有人能给我一些建议,告诉我如何继续(如果可以实现的话),我将不胜感激。谢谢。

相关内容