在Linux服务器上管理多个git存储库的用户访问,是否基于SSH密钥授予每个存储库访问权限?

问题描述 投票:0回答:1

我有一台Linux服务器,其中包含一些裸露的git存储库,一些开发人员正在远程使用它们。当前,所有开发人员都可以访问所有存储库。

我在服务器上仅使用一个'git'用户帐户,每个开发人员都有自己的SSH密钥,他们可以通过它们通过SSH访问git。

现在,我打算增加一些开发人员,但是他们应该只能访问some的git存储库,而不是全部。

是否有可能这样做,同时仍然保留一个实际的Linux用户帐户(即我的'git'用户),并区分开发人员的SSH密钥来管理对各种存储库的访问?

我已经阅读了一些使用gitolite的方法,不确定是否仍然有效。到目前为止,我最喜欢我的方法,因为它不需要任何其他设置或软件,仅是基本的git和SSH。如果我想为每个SSH密钥分配不同的访问权限,那仍然可行吗?

git ssh repository ssh-keys user-accounts
1个回答
0
投票

如果您使用的是标准的OpenSSH服务器,并且想为受限用户提供多个存储库,那么不能,您不能这样做。您可以使用OpenSSH的authorized_keys文件将特定密钥限制为特定命令,但是只能使用一个这样的命令,因此无法区分多个存储库。

如果要使用共享系统用户和具有不同用户访问权限的多个存储库,那么Gitolite是一个不错的选择。它在许多地方仍在使用,并且设置起来不太困难。您还可以通过它(使用合适的HTTP服务器)设置HTTP访问权限,如果您想这样做的话。

© www.soinside.com 2019 - 2024. All rights reserved.