Ubuntu 22.10 不允许使用密码进行 SSH(在 Ubuntu 22.04 中工作)

use*_*374 5 ubuntu ssh

通常我使用共享密钥通过 ssh 连接到我们的 Ubuntu 服务器。这样可行。

有时我会更改 /etc/ssh/sshd_config 并设置“PasswordAuthentication yes”以允许某人使用密码进行连接。如果他们在没有使用 -i 选项指定密钥的情况下进行连接,则会提示他们输入密码

这种行为似乎在最新的 Ubuntu 22.10 中发生了变化

即使 sshd_config 中的 PasswordAuthentication yes ,尝试在没有密钥的情况下进行 ssh,也会给出错误“权限被拒绝(公钥)。”,而不会提示输入密码

我的 Ubuntu 服务器可以追溯到 18,这种行为是新的。

我比较了 22.04 服务器(提示输入密码)和 22.10 服务器(不提示输入密码)之间的 sshd_config 文件,所有选项的配置都完全相同

我缺少什么想法吗?

谢谢

小智 0

你将其视为操作系统的事情,但我理解 Ubuntu 本身与 SSH 无关,这将由 SSHD 处理,具体取决于正在运行的 ssh 守护进程(我假设是 OpenSSH 服务器,因为这通常是发生的事情)与 Ubuntu)。

从表面上看,上个月发布了 OpenSSH Server 的新版本(版本9.1 - 2022 年 10 月 4 日),而9.0则于 2022 年 4 月 8 日发布。我不确定 Ubuntu 22.04 与 22.10 中打包的默认值是什么。

快速浏览发行说明并没有发现任何对您的情况特别感兴趣的内容,它似乎确实是一个小版本,但我也不确定您遇到这个问题有多久了。

可能只需根据您之前使用的版本检查出现问题的计算机上的 SSHD 版本 ( ssh -V),如果不同,您可以恢复并查看是否可以解决问题。如果确实如此,您可能需要深入研究 OpenSSH 文档以查明实际的根本原因。

如果我错了,这实际上是 Ubuntu 的事情,也许Ask Ubuntu的人会更清楚。

  • 你当然是对的。事实证明,数字海洋改变了它填充 sshd_config 文件的方式。您需要的设置是: PasswordAuthentication yes ChallengeResponseAuthentication yes KbdInteractiveAuthentication no (2认同)