基于SSH选择性访问Git存储库

时间:2013-04-23 12:57:56

标签: git ssh permissions repository

我有一个带有六个Git存储库的服务器,我通过一个SSH帐户读取+写入权限,所有这些都在/ opt / git /中,全部由SSH帐户拥有。

我想给其他人读取或写入访问一些存储库,但不是全部。

  • 如何创建只能访问少数选择存储库的新SSH用户?
  • 我可以使用filepermissions(目前为0755)来控制此类访问吗?
  • 有没有最佳做法?

我们不太可能在相当长的一段时间内拥有第三个开发人员,至少在我们获得一个合适的系统管理员之前,所以如果它“足够现在”就可以了。

1 个答案:

答案 0 :(得分:0)

最好由 gitolite authorization layer)管理,这样您就可以配置以下列表:

  • ssh用户密钥
  • 存储库

并将您想要的用户与正确的回购关联。

所有用户仍然可以使用帐户git通过ssh访问这些repos,但使用他们自己的公共/私有ssh密钥(在gitolite配置文件中注册),使用类似于以下命令生成:

ssh-keygen -t rsa -f "${H}/.ssh/myLogin" -C "My Gitolite access (not interactive)" -q -P ""

每个用户都会设置%HOME%/.ssh/config file以引用myLogin/myLogin.pub个密钥。