我在旧台式机上设置了 ubuntu 服务器,能够毫无问题地使用密码登录。然后我设置了 ssh 密钥并禁止使用密码登录。我现在遇到了一个奇怪的问题,当我尝试远程 ssh 时,出现了公钥被拒绝的错误,除非我将显示器连接到旧台式机并在本地登录到服务器,然后使用密钥远程登录到服务器 - 这种方法有效。
我检查了两台机器上 .ssh 文件/文件夹的权限,它们都没有问题:主目录为 755,.ssh 为 700,id_rsa.pub 为 644,id_rsa 和 authorized_keys 为 600。
知道这里发生什么事了吗?
答案1
答案就像 Michal Politowski 在评论中说的那样。加密的主目录包含 .ssh 文件夹,因此在我本地登录并解密文件夹之前,ssh 命令无法访问它。解决方案是创建 /home/ssh/%user%/ 并将 authorized_keys 文件放在那里,然后通过 sshd_config 指示 ssh 在那里查看。请参阅评论以获取有用的网页链接。
答案2
这是网络适配器。它被配置为仅供您的用户使用。
您必须将网络适配器设置为可供其他/所有用户使用。在 GNOME 中,这可以通过在网络适配器设置中勾选“使其他用户可用”复选框来完成。
如果没有这个,您的用户将需要先在本地登录,然后网络适配器才开始监听 SSH 等标准服务。