我正在运行 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 登录问题上找到的任何故障排除材料中都没有看到对此的任何提及。