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