小型团队的 SSH 公钥管理

小型团队的 SSH 公钥管理

我正在大学实验室里设置一个深度学习工作站。它运行的是 Ubuntu Server 16.04,我在其中设置了一个 SSH 服务器,以便远程控制它。

我现在的任务是让我的团队能够使用它,通过 SSH 使用公钥认证(已禁用密码认证)。但我对 SSH 公钥管理的某些方面有点迷茫。

我如何管理能够访问服务器的用户的公钥?

在服务器内部接收和存储这些密钥的最安全方法是什么?

他们是否应该通过消息将通过 ssh-keygen 生成的公钥发送给我并将其存储在服务器上,或者有更安全的方法来做到这一点?

该团队大约有 6 个人,因此我认为在这种情况下手动管理密钥是可行的。我错了吗?

抱歉问了这么多问题,但过去两周我一直在网上搜索这个主题,找不到任何有用的信息。非常感谢您在服务器管理方面的经验!

答案1

ssh-复制-id可能对你有帮助,但这需要用户自己添加密钥,而要做到这一点,他们需要能够登录(通过密码,因为 ssh-keys 尚未设置)。另一种方法是让他们将他们的民众密钥,然后将其添加到每个授权密钥文件中。只要他们不发送私钥,它就是安全的。这不是最好的长期解决方案,但对于 6 个人来说还不错。

答案2

我认为这是 Ansible/Puppet/Chef 等配置管理工具的理想用例之一。

让人们生成他们的密钥,并将其存储为配置管理系统部署的数据的一部分。

相关内容