同时使用密钥对和密码进行 SSH

同时使用密钥对和密码进行 SSH

是否可以启用 ssh 同时使用密钥对和密码,这样客户端既需要密钥文件也知道密码?这样,只有一个就行不通了。

我并不想使用 radius 或其他东西进行两步身份验证。我只是想稍微提高一点安全性。

谢谢

答案1

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/

还需要注意的是,AuthenticationMethods 功能仅适用于 SSH 2 协议,并且列出的每种身份验证方法也必须在 sshd_config 文件中明确启用。

这里有一个详细的解释:

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

Match User johndoe
AuthenticationMethods publickey,keyboard-interactive

将逗号理解为逻辑 AND。登录时,将首先检查 johndoe 的密钥对,如果匹配,您将看到以下内容:

Authenticated with partial success.

然后,系统会要求他输入密码。所以,在不知不觉中,您已经设置了 MFA。您的密钥对就是您拥有的,账户密码就是您知道的。这可能是使用 SSH 设置 MFA 的最简单方法,而且已经比单因素身份验证更好了。

相关内容