我使用 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