每个git仓库配置ssh密钥

时间:2016-03-04 22:03:34

标签: git ssh

我按照下面的教程使用ssh设置git服务器。

  

https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server

只要我是唯一使用git repos的人就可以了。现在我有多个用户需要访问git服务器上的特定存储库。上述方法允许所有用户访问服务器上的所有存储库。

如何使用各自的ssh密钥允许每个用户进行回购?

2 个答案:

答案 0 :(得分:1)

假设这是在Unix机器上,那么english只是系统上的用户,并且强制执行Unix访问控制。

  1. 在系统上创建第二个git用户,例如git
  2. 将新用户的密钥添加到第二个git用户的authorized_keys文件中,但不添加到第一个git用户的authorized_keys文件中。 (可选)将您自己的密钥添加到第二个git用户的authorized_keys文件中。
  3. 将第二个用户的repos初始化为第二个git用户。确保在原始repos上设置了权限,以便第二个git用户无法访问它们。这需要对Unix shell,Unix文件权限和git2命令有所了解。
  4. 在处理第二个项目时使用第二个git用户,例如chmod
  5. 要扩展到多个用户,您最终将为每个项目(或一组项目)设置1个git用户。对于许多用户,您最终会为每个用户设置一个git用户帐户,并使用组文件权限来控制对共享存储库的访问。后者需要使用git2@gitserver:/opt/git/project.git选项。

答案 1 :(得分:-2)

Git不会像这样进行回购级访问。查看类似gitoliteGitlab CE的内容,以通过SSH密钥管理存储库访问。