系统上的某个用户无法通过公钥进行 SSH 身份验证

系统上的某个用户无法通过公钥进行 SSH 身份验证

我无法为系统上的某个特定用户设置公钥身份验证。我检查了用户主目录和 .ssh 目录权限,没有问题(drwx------. 两者都有,与其他可以通过公钥进行身份验证的用户相同)。我在互联网上找到了一条建议,建议停止 sshd 并使用 -ddd 选项运行它以获取更多信息(sudo /usr/sbin/sshd -ddd)。奇怪的是,如果我以这种方式运行它,那么它对用户来说是有效的。

对于这种奇怪的行为有什么想法吗?

答案1

尝试适当的 SELinux 文件安全上下文。

# restorecon -Rv /home/troubleduser/.ssh

答案2

原来是 SELinux(安全增强型 Linux)阻止 sshd 读取用户目录中的授权密钥。我检查它是否已启用sestatus,我用 echo 0 >/selinux/enforce 禁用它,它开始工作。我在 /etc/selinux/config 中永久禁用它

相关内容