SSH 不允许密码验证

SSH 不允许密码验证

我使用证书通过 SSH 访问我的服务器。我已在同一台服务器上配置了一个使用密码连接的用户,但使用 Putty 时,服务器似乎只提供证书登录,因为我收到以下错误:

“没有可用的受支持的身份验证方法(服务器发送的公钥、gssapi-keyex、gssapi-with-mic)”

我确实进入/etc/ssh/sshd_config以启用PasswordAuthentication yes并重新启动了 sshd,但这似乎没有任何作用。sshd_config 有一行包含单独的 .conf 文件,我已将其包含在内/etc/ssh/sshd_config.d/50-redhat.conf。在这里我还添加了PasswordAuthentication yes

我发现/var/log/secure以下内容:

5 月 10 日 12:42:54 [用户] sshd[2053]: 正在验证用户 [用户] [源 ip] 端口 60374 [预认证] 已关闭连接

需要说明的是:我没有机会输入密码。

我还应该在哪里寻找实现基于证书和基于密码的 SSH 访问的可能性?

答案1

找到了我的答案,将其留在这里以供后人参考。

问题似乎是现在有多个 ssh 配置,而不仅仅是/etc/ssh/sshd_config。 在我的例子中(ubuntu 22.04),有一个鬼鬼祟祟的文件/etc/ssh/sshd_config.d/60-cloudimg-settings.conf,其中只有一行,PasswordAuthentication no这毁了我的生活!!!!

用这个修复了它:

grep -r PasswordAuthentication /etc/ssh -l | xargs -n 1 sed -i 's/#\s*PasswordAuthentication\s.*$/PasswordAuthentication yes/; s/^PasswordAuthentication\s*no$/PasswordAuthentication yes/'

另外,service ssh restart没有工作,没有错误,只是没有做任何事情,需要使用systemctl restart ssh.service

答案2

在 sshd_config 中将 KbdInteractiveAuthentication 设置为“yes”,然后重启。PasswordAuthentication 还不够

相关内容