多个用户的 SSH 密钥

多个用户的 SSH 密钥

在我工作的公司中,我们有几个客户端托管在使用同一项目的服务器上,它们使用相同的代码库,但服务器上的用户不同(使用 WHM / CPanel),因为我们的存储库是私有的,所以它们都是通过 SSH 密钥进行身份验证,但我们有大约 80 个这样的客户端,因此在 github 帐户中存储了近 80 个密钥。

问题是,有没有办法让这些用户使用同一个密钥呢?避免为每个用户创建新密钥。或者这不是一个好方法,最好继续为每个人制作一把钥匙

答案1

您可以将 ssh 设置为接受由单个证书颁发机构 (CA) 签名的证书。

因此,您为此颁发机构创建一个证书,将此证书提供给您想要为 n 个用户使用 SSH 密钥的任何位置,然后 n 个用户中的每个用户都会获得使用 CA 证书签名的证书。您可以添加更多用户而无需进行任何更改。

因此,这与让每个用户使用相同的密钥几乎相同(您只需管理 CA 证书一次),但每个用户仍然获得不同的证书,因此您可以区分用户。

吉图布支持CA。

这里是一篇包含更多详细信息的文章(smallstep 的 CLI 对于这些事情也非常有帮助)。

答案2

这也许是可能的,但可能被认为是一个坏主意。基本上,将需要访问权限的人员(通过他们的 ssh 密钥)添加到~/.ssh/authorized_keys.但是,如果其中一个人离开公司,或者做了一些令人讨厌的事情,你该怎么办?如果每个人都有自己的个人密钥,您可以删除个人访问权限,而无需其他任何人更改其密钥。如果他们共享一个密钥,您需要取消对每个人都在使用的单个密钥的授权,这会产生大量工作。

使用单独的密钥进行审计(谁做了什么,在哪里)也更容易。

相关内容