禁用密码验证不起作用

禁用密码验证不起作用

在 Ubuntu 22.04 机器上,我试图禁用密码验证。为了实现这一点,我/etc/ssh/sshd_config已从

...
# PasswordAuthentication yes
...

...
PasswordAuthentication no
...

然后重新sshd启动sudo systemctl restart ssh

不过,密码验证仍然有效。

我这里遗漏了什么吗?

在机器上,它已经安装好了OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022

答案1

我将首先检查您是否定义了包含目录(或文件),例如:

/etc/sshd_config.d/

有可能存在一个覆盖 /etc/ssh/sshd_config 的包含文件

接下来,查看 systemctl 正在做什么。查看/etc/sysconfig/sshd/etc/sysconfig/sshd-permitrootlogin根据需要调整它们。这些是 RHEL 8 上的路径/文件名,我认为 Ubuntu 22.04 也是如此。

我还会检查 ssh 客户端。ssh 命令行选项-o PreferredAuthentications=password可能会覆盖服务器首选项。检查客户端~/.ssh/config文件中是否存在类似内容,或者如果使用服务器的客户端(到本地主机),则可能使用 /etc/ssh/ssh_config。

答案2

不确定我之前是否错过了它,或者它是否是新的。现在 /etc/ssh 有一个目录sshd_配置.d!我修复它的方法是在该目录下的 conf 文件中设置 PasswordAuthentication no!

我以为 RH 使用 sshd 而 ubuntu 使用 ssh(如 sudo systemctl restart ssh)!

相关内容