用于密码login的双因素身份validation,不能用于使用密钥文件login

我configuration了ssh来使用位于~/.ssh密钥文件来login。 现在我想在使用密码时安装双因素身份validation,但在使用密钥文件时不需要。 我已经看到如何在这里安装双因素身份validation: DigitalOcean:如何使用双因素身份validation保护SSH 。

但它适用于login密码和密码login,我只想用它来login密码。

我想要:

  • 公钥 – >确定进入服务器

要么

  • 密码 – >一次性密码 – >确定进入服务器

也许有可能用sshd_configAuthenticationMethods做些事情? 我发现这个: OpenSSH使用(公钥或密码)+谷歌authenticator

这是默认情况下的工作原理。

默认情况下,当使用基于密钥的身份validation时,sshd不会查询PAM的auth堆栈。 其他堆栈仍然会触发(即account仍然会强制执行您的访问策略),但是它需要额外的configuration(自定义AuthenticationMethods ),甚至在PAM和非PAM身份validation方法混在一起的情况下最终结束。