加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – OpenSSH:不同的身份验证方法

发布时间:2020-12-14 03:03:27 所属栏目:Linux 来源:网络整理
导读:我需要让用户使用不同的身份验证方法登录CentOS系统.有些人使用密码而其他人使用公钥. 我按照这里提到的方法: How can I setup OpenSSH per-user authentication methods? 但是,我没有成功进行基于密码的登录. 在sshd_config文件中,我有: AuthenticationMe
我需要让用户使用不同的身份验证方法登录CentOS系统.有些人使用密码而其他人使用公钥.

我按照这里提到的方法:
How can I setup OpenSSH per-user authentication methods?

但是,我没有成功进行基于密码的登录.

在sshd_config文件中,我有:

AuthenticationMethods keyboard-interactive,publickey
PasswordAuthentication no

Match User newton
    PasswordAuthentication yes
Match all

更新:
我发现只有当我使用Google身份验证启用了2FA时才会出现此问题,并且我有以下内容:

AuthenticationMethods keyboard-interactive,publickey

虽然对于用户牛顿,我已设置密码验证我看到以下错误:

[root@localhost]# ssh newton@50.39.213.152
Permission denied (publickey).

任何建议表示赞赏.

解决方法

尽管@Tolsadus的回答可能指向了正确的解决方案,但它并没有清楚地回答这个问题.

简而言之,ssh_config的手册页是一个很好的开始,可以了解ssh中的配置解析器是如何工作的(相同的规则适用于sshd_config):

For each parameter,the first obtained value will be used

这意味着您的示例将为所有用户将PasswordAuthentication设置为no,并且对于newton用户不会覆盖它(因为它已经设置).要解决它,您应该在匹配块中设置默认值.这将对牛顿用户产生预期的影响:

Match User newton
    PasswordAuthentication yes
Match all
    PasswordAuthentication no

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读