SSH 公钥验证失败

SSH 公钥验证失败

我有一台服务器,我希望能够通过 SSH 与两个不同的用户连接。我已经为第一个用户设置了公钥身份验证,并且工作正常,但是,我无法使用第二个用户登录。该文件的区别authorized_keys在于,第二个用户有两个密钥(验证时都失败)。 .ssh目录和授权密钥文件都有755权限。 ssh 客户端发送我想要进行身份验证的密钥。可能是什么问题呢?

答案1

首先,.ssh 目录应具有 700 权限,authorized_keys 文件应具有 600 权限。

chmod 700 .ssh
chmod 600 .ssh/authorized_keys

如果您使用 root 为 userB 创建了文件,那么也可以执行以下操作:

chown -R userb:userb .ssh

如果问题仍然存在,请将 ssh 日志文件的输出发布到您的问题中,我将更新我的答案。

对于 Debian:

less /var/log/auth

对于红帽:

less /var/log/secure

答案2

我在以下位置找到了这条消息/var/log/auth.log

Oct 22 13:27:58 hagyma sshd[27420]: User userb not allowed because account is locked

我已经为 userb 设置了密码sudo passwd userb,它解锁了该帐户。

答案3

对我来说,sshd被忽略,~/.ssh/authorized_keys因为/home分区是以一种不寻常的方式安装的。我尝试了所有方法,设置了正确的权限,并且仅在修改后才起作用sshd_config

StrictModes no

答案4

由于 SELinux,我也遇到了同样的问题。

请正确配置 SELinux ( restorecon -Rv ~/.ssh) 或禁用它(在 RedHat 上,您应该编辑/etc/selinux/config并重新启动计算机,或者只是键入setenforce 0暂时禁用 SELinux,直到下次重新启动为止)。

相关内容