SSH 将不使用密码验证,仍会尝试禁用的方法

SSH 将不使用密码验证,仍会尝试禁用的方法

我正在运行 Fedora 36 Workstation,使用的是 OpenSSH 服务器 8.8p1。我想登录单个远程用户并使用其密码进行身份验证,但 OpenSSH 似乎坚决不让我这样做。我尝试了在线找到的所有解决方案。大多数解决方案似乎归结为“编辑密码身份验证行,/etc/ssh/sshd_config使其内容如下:

PasswordAuthentication yes

完成。我还设置了以下内容:

PubkeyAuthentication no

KerberosAuthentication no

GSSAPIAuthentication no

我尝试从 Windows 上的 Putty 连接,并通过另一台 Fedora 36 工作站上的终端进行连接。没有运气。同样的错误。我尝试设置密钥,但无法连接ssh-copy-id到服务器,因为我还无法验证用户身份。

此时,我的登录尝试如下所示:

ssh -vv [email protected]

总是吐出来

[email protected]: Permission denied (gssapi-keyex,gssapi-with-mic).

在调试日志中,我还看到

Authentications that can continue: gssapi-keyex,gssapi-with-mic

我确定我已经重启了 sshd。我确定我正在服务器上编辑正确的配置文件。我还尝试使用客户端设置的选项进行 ssh:

ssh -o [relevant options, etc.]

为什么如果将密码验证设置为yes,它就不会显示为可以继续的验证方法?为什么如果将 GSSAPI 设置为no,这些选项会显示为可用?我还尝试从服务器中删除 openssh-server 并清除所有 ssh 配置文件,然后重新安装并重置选项。

我还可以尝试什么?

我见过对UsePAM和 的引用ChallengeResponseAuthentication,但我也尝试了它们的每种值组合,但总是得到相同的结果。我在两个客户端上都遇到相同的错误,说明问题出在服务器上。是否有什么东西可以覆盖我的配置文件?

答案1

原来我遗漏了一个本地配置文件。感谢上面@diya的评论,我开始寻找另一个conf文件。

/etc/ssh/sshd_config.d/01-local.conf

它包含一行

PasswordAuthentication no

将其更改为yes,重新启动 sshd,立即从客户端成功登录。

我很高兴它能正常工作,但我仍然想知道是否有人知道为什么这个额外的配置文件被藏起来,覆盖了我的sshd_config。我在 ssh 登录问题上找到的任何故障排除材料中都没有看到对此的任何提及。

相关内容