3

我想知道是否有可能拥有仅适用于特定存储库的 RSA 密钥。或类似的东西。我的用户需要能够创建一个 git repo 并对其进行读/写,并管理谁可以自己读或写它。我的计划是使用 RSA 密钥(authorized_keys)和一个 git 用户,并将密钥提供给需要连接的组。有没有办法指定 rsa 密钥可以访问哪些文件夹?

4

2 回答 2

2

是的,它受支持。尝试添加config(不带任何扩展名)文件~./ssh,内容如下:

Host github.com
    HostName github.com
    User madhead
    IdentityFile ~/.ssh/id_rsa_1
Host bitbucket.org
    HostName bitbucket.org
    User madhead_
    IdentityFile ~/.ssh/id_rsa_2
于 2013-01-01T00:19:21.853 回答
2

听起来像是Gitosis的工作。

Gitosis 允许您让每个用户都使用该git@server用户并通过公钥来识别自己。在 gitosis 中,您可以指定用户(及其密钥)、组和存储库。每个用户和组都可以被授予对任何存储库的读取或写入访问权限。

这有效地实现了您的要求:某些密钥可以访问某些存储库;所有用户都通过他们的公钥进行身份验证。

值得注意的是,gitosis 并不是一个新的服务器或守护进程,它只是利用了已经可以访问的 SSH 服务器;所有访问控制都是在用户建立 SSH 连接后完成的。此外,使用此方法无法进行常规 shell 登录。

基本上,Gitosis 和 GitHub 等完全一样。

于 2013-01-04T13:19:14.840 回答