![用户使用 SSH 密钥登录 Linux 服务器的最有效/最安全的方式是什么?](https://linux22.com/image/111958/%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%20SSH%20%E5%AF%86%E9%92%A5%E7%99%BB%E5%BD%95%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%9C%80%E6%9C%89%E6%95%88%2F%E6%9C%80%E5%AE%89%E5%85%A8%E7%9A%84%E6%96%B9%E5%BC%8F%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20.png)
假设您正在开发一个项目,并且需要支持对项目中使用的多个 Linux 服务器的 SSH 访问。我如何确保 30 多个用户可以使用仅分配给他们的唯一 SSH 密钥以对用户来说最有效/安全的方式登录到每个系统?
这个问题源于我上学期参与的一个 Docker 项目,该项目让我们为用户创建登录信息,但我们构建了一个 GUI 组件,而不是通过 SSH 访问应用程序的服务器。我现在想知道如何通过 SSH 访问来为需要访问其帐户的用户做到这一点。
这是特别相关的,因为我知道我可以通过 SSH 访问运行 Ubuntu 的学校服务器,所以我想知道他们是如何做到这一点的。
我的思考过程:
最简单地说,我们可以创建允许通过Linux服务器登录和连接的用户,并且他们共享相同的访问文件。这些文件将有一个authorized_keys列表,它与能够登录它们的30多个用户相匹配。然后,Linux 服务器引用相同的登录信息,因此所有用户都可以登录到所有这几台服务器。
它是否正确?任何指导或具体说明将不胜感激,因为我对要阅读的内容感到不知所措。
答案1
是的,您可以将~/.ssh/authorized_keys
包含公共用户密钥的文件从一个服务器复制到另一个服务器。
假设您dev
在服务器上调用了一个用户帐户,所有 30 多个用户都将通过使用通过服务器上文件dev
中的公钥验证的私钥登录作为用户登录。/home/dev/.ssh/authorized_key