侧边栏壁纸
  • 累计撰写 11 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

ubuntu 22.04禁用密码登录不生效的解决

Administrator
2024-03-29 / 0 评论 / 1 点赞 / 277 阅读 / 1408 字

虚拟机安装了ubuntu22.04, 配置了使用密钥登录同时禁用了密码登录,在测试时,密钥登录成功,但仍然可以使用密码登录,查看配置 /etc/ssh/sshd_config 的配置为

# sudo cat /etc/ssh/sshd_config | grep PasswordAuthentication | grep -v ^#
PasswordAuthentication no

查看ssh配置发现可能引入了其他配置文件,在 /etc/ssh/sshd_config.d目录下有一个50-cloud-init.conf配置文件,内容为:

# cat /etc/ssh/sshd_config | grep Include
Include /etc/ssh/sshd_config.d/*.conf
# sudo cat /etc/ssh/sshd_config.d/50-cloud-init.conf 
PasswordAuthentication yes

修改/etc/ssh/sshd_config.d/50-cloud-init.conf文件并重启ssh服务,测试生效

PasswordAuthentication no

在Linux系统中,SSH的配置信息通常存储在一个或多个配置文件中。主要的配置文件是/etc/ssh/sshd_config~/.ssh/configsshd_config是SSH服务器的配置文件,而~/.ssh/config则是SSH客户端的配置文件。

在多个SSH配置文件中,当存在相同的配置项时,系统将按照特定的顺序决定哪个配置项生效。下面是SSH配置文件的优先级顺序:

  1. 全局配置文件: 全局配置文件位于/etc/ssh/ssh_config。这个文件包含了系统范围内所有SSH客户端连接的默认配置,它可以引用其他配置文件。

  2. 自定义的配置文件: ubuntu中SSH服务器的自定义配置文件位于/etc/ssh/sshd_config.d目录。

自定义配置文件会覆盖全局配置文件的设置,在上面的示例中,虽然在全局配置文件中禁用了密码登录,但是在自定义文件中启用了密码登录,所以还是可以使用密码登录服务器。如果要禁用密码登录,需要在自定义配置文件中设置为no.所在在配置ssh是需要检查全局配置文件引入的配置文件

1

评论区