是否有可能使SSH同时使用密钥对和密码,所以客户端需要密钥文件,也知道密码? 为了只有一个不会工作。
我不要使用radius或任何其他的2步validation。 只是想提高一点安全性。
谢谢
现在在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更好。