同时使用密钥对和密码的SSH

是否有可能使SSH同时使用密钥对和密码,所以客户端需要密钥文件,也知道密码? 为了只有一个不会工作。

我不要使用radius或任何其他的2步validation。 只是想提高一点安全性。

谢谢

https://security.stackexchange.com/questions/17931/possible-to-use-both-private-key-and-password-authentication-for-ssh-login

现在在RHEL / CentOS 7以及任何带有最新版本的OpenSSH的系统上,您可以使用:

AuthenticationMethods "publickey,password" "publickey,keyboard-interactive" 

另见: https : //lwn.net/Articles/544640/

还需要注意AuthenticationMethodsfunction仅适用于SSH 2协议,并且每个列出的authentication方法都必须在sshd_config文件中显式启用。

这里有一个很好的解释:

https://sysconfig.org.uk/two-factor-authentication-with-ssh.html

 Match User johndoe AuthenticationMethods publickey,keyboard-interactive 

按照逻辑和读取逗号。 在login时,johndoe的密钥对将被首先检查,如果匹配,你会看到:

 Authenticated with partial success. 

然后,他会被要求input密码。 所以没有意识到,你刚刚build立了MFA。 您的密钥对就是您所拥有的,账户密码就是您所知道的。 这可能是使用SSH设置MFA的最简单方法,并且已经比单因素身份validation更好。