SSH 密钥在重启后拒绝访问

SSH 密钥在重启后拒绝访问

我使用 ssh 远程进入我的 Ubuntu 桌面。

我已将其设置为使用基于密钥的身份验证,并禁用使用密码登录。

我还配置了 iptables,只允许来自我的内部网络和来自我工作地点的 IP 的 ssh,并删除了其他所有内容以增加安全性。

无论如何,我只有在登录后才能获得访问权限。如果我因任何原因远程登录并重新启动,我会收到权限被拒绝的公钥消息,并且它会拒绝让我进入。

为了好玩,我使用团队查看器登录我的机器。通过团队查看器登录后,它让我再次 ssh 进入。

在编辑我的 sshd_config 文件时我可能忘记检查某个设置吗?

我的主目录是加密的,不知道这有什么区别。这可能是罪魁祸首。

我最初在 16.04 上配置了所有内容,但最近升级到了 17.04。升级期间我保留了所有配置。

答案1

这是因为 ssh 守护程序无法访问您的 authorized_keys 文件。

更改USERNAME为您的用户名。

sudo mkdir /etc/ssh/USERNAME

复制你的密钥

sudo cp /home/USERNAME/.ssh/authorized_keys /etc/ssh/USERNAME

拥有它

sudo chown -Rf USERNAME.USERNAME /etc/ssh/USERNAME
sudo chmod 644 /etc/ssh/USERNAME/authorized_keys

添加以下内容/etc/ssh/sshd_config

AuthorizedKeysFile    /etc/ssh/%u/authorized_keys

来源:加密主目录中的无密码 SSH

相关内容