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

Ado*_*ist 5 security linux ssh

是否可以启用 ssh 同时使用密钥对和密码,因此客户端需要密钥文件并知道密码?为了只有一个是行不通的。

我不需要使用半径或任何东西进行两步验证。只是想提高一点安全性。

谢谢

Jay*_*Tee 7

来自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"
Run Code Online (Sandbox Code Playgroud)

另见: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
Run Code Online (Sandbox Code Playgroud)

将逗号读作逻辑 AND。登录时,将首先检查 johndoe 的密钥对,如果匹配,您将看到:

Authenticated with partial success.
Run Code Online (Sandbox Code Playgroud)

然后,他将被要求输入密码。因此,您没有意识到,您刚刚设置了 MFA。您的密钥对是您所拥有的,帐户密码是您所知道的。这可能是使用 SSH 设置 MFA 的最简单方法,并且已经比单因素身份验证更好。