除非我先在服务器上本地登录,否则无法通过 ssh 进入远程服务器

除非我先在服务器上本地登录,否则无法通过 ssh 进入远程服务器

我在旧台式机上设置了 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 等标准服务。

相关内容