SSH 身份验证顺序

SSH 身份验证顺序

我想设置用户登录时的身份验证顺序。

Match User user
    PasswordAuthentication no
    MaxAuthTries 5
    AuthenticationOrder "publickey,password"
Match all
    PasswordAuthentication yes
    AuthenticationMethods "publickey,password" "publickey,keyboard-interactive"

我想设置用户,如果他没有公钥,就用密码。如果他有公钥,就登录。

所有用户都需要有一个公钥和密码才能登录。

答案1

您可以尝试Allow User user像这样修改该部分:

Match User user
    PasswordAuthentication yes
    MaxAuthTries 5
    AuthenticationMethods publickey password

当您将身份验证方法列为逗号分隔列表时,用户必须完成列出的所有方法。将方法列为空格分隔列表将尝试每种方法,直到一种方法成功。因此,我的建议是,如果publickey身份验证成功,则授予用户访问权限,如果身份验证失败,则将要求输入密码。

另外,请确保将PasswordAuthentication位更改为是,因为您必须明确启用列出的任何身份验证方法。

查看 sshd 手册页以了解更多信息:OpenSSH sshd_config 手册页#身份验证方法

相关内容