我的 Ubuntu 机器有一个有趣的问题,我觉得这可能只是我的一个配置问题,但希望你们中的一个向导可以帮助我解决这个问题。
我有一个 Ubuntu 18.04.4 安装,用于我和朋友的视频游戏服务器。目前,我在上面运行着 Minecraft 和 Terraria。这些服务器在它们自己的用户中运行(我有一个 Minecraft 用户和一个 Terraria 用户)以保持分离。此外,我有一个特权用户,可以使用 sudo 访问 juuuust 的所有内容。
正如标题所示,我在我的服务器上设置了基于密钥的身份验证。我关注了一个关于如何设置它的 YouTube 视频,该视频指导我在我的主用户的主目录中创建一个“.ssh”目录,并使用它来存储授权密钥。.ssh 文件夹有 700 个权限,里面的其余文件是 600 个。做到了,bippy boppity boom!有用!
因此,如果我在我的服务器中打开 putty 和 ssh,只要我选择特权用户作为我希望登录的用户,它就可以正常工作。如果我尝试以 Minecraft 或 Terraria 用户身份登录,没有骰子,服务器会拒绝密钥。我尝试为 Minecraft 用户创建相同的 .ssh/authorized_keys 文件夹来测试我的理论,即我需要在 Minecraft 用户的主目录中也拥有公钥才能使其工作。还是没有骰子。(这是我的问题,下面的答案解决了。这个文件中的密钥不是一行)事实上,对于其他任何一个用户来说,实际上都没有一个典型的主目录。
特权用户在 /home/USER/ 中有一个主文件夹,但其他用户没有,我觉得这可能是我的问题的根源,但我不确定如何在不破坏安装的情况下为我的用户创建这个目录在它们上运行的服务器。
这就是我在这里所做的事情,如果你们中的任何人对为什么我的 ssh 不适用于那些我很想听的用户有洞察力。提前致谢!