Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每个git repo配置ssh密钥_Git_Ssh - Fatal编程技术网

每个git repo配置ssh密钥

每个git repo配置ssh密钥,git,ssh,Git,Ssh,我按照下面的教程使用ssh设置git服务器 只要我是唯一一个使用git回购的人,一切都很好。现在我有多个用户需要访问git服务器上的特定repo。上述方法允许所有用户访问服务器上的所有repo 如何允许每个用户使用各自的ssh密钥进行repo?Git不进行这样的repo级访问。查看类似或的内容,通过SSH密钥管理存储库访问。Git不执行类似于这样的repo级访问。查看类似或的内容,通过SSH密钥管理存储库访问。假设这是在Unix设备上,那么git只是系统上的用户,Unix访问控制是强制执行的

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

只要我是唯一一个使用git回购的人,一切都很好。现在我有多个用户需要访问git服务器上的特定repo。上述方法允许所有用户访问服务器上的所有repo


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

Git不进行这样的repo级访问。查看类似或的内容,通过SSH密钥管理存储库访问。

Git不执行类似于这样的repo级访问。查看类似或的内容,通过SSH密钥管理存储库访问。

假设这是在Unix设备上,那么
git
只是系统上的用户,Unix访问控制是强制执行的

  • 在系统上创建第二个git用户,例如,
    git2
  • 将新用户的密钥添加到第二个git用户的授权密钥文件,但不添加到第一个git用户的授权密钥文件。可以选择将您自己的密钥添加到第二个git用户的授权密钥文件中
  • 将第二个用户的回购初始化为第二个git用户。确保在原始回购上设置了权限,以便第二个git用户无法访问这些权限。这需要对Unix shell、Unix文件权限和
    chmod
    命令有一点了解
  • 在处理第二个项目时使用第二个git用户,例如
    git2@gitserver:/opt/git/project.git

  • 要扩展到多个用户,您可以为每个项目(或一组项目)设置1个git用户。对于许多用户,您最终会为每个用户设置一个git用户帐户,并使用组文件权限来控制对共享回购的访问。后者需要使用
    git init--shared=xxx
    选项。

    假设这是在Unix设备上,那么
    git
    只是系统上的用户,Unix访问控制是强制的

  • 在系统上创建第二个git用户,例如,
    git2
  • 将新用户的密钥添加到第二个git用户的授权密钥文件,但不添加到第一个git用户的授权密钥文件。可以选择将您自己的密钥添加到第二个git用户的授权密钥文件中
  • 将第二个用户的回购初始化为第二个git用户。确保在原始回购上设置了权限,以便第二个git用户无法访问这些权限。这需要对Unix shell、Unix文件权限和
    chmod
    命令有一点了解
  • 在处理第二个项目时使用第二个git用户,例如
    git2@gitserver:/opt/git/project.git

  • 要扩展到多个用户,您可以为每个项目(或一组项目)设置1个git用户。对于许多用户,您最终会为每个用户设置一个git用户帐户,并使用组文件权限来控制对共享回购的访问。后者需要使用
    git init--shared=xxx
    选项。

    这是一种复杂的方法,但也是一种可能的解决方案。谢谢。这是一个复杂的方法,但也是一个可能的解决方案。非常感谢。