Git"服务器",通过SSH密钥管理访问

时间:2014-10-11 09:36:21

标签: git github ssh vps

在我的VPS上设置远程存储库出乎意料地容易。我想给一些人读取访问权限,其他一些人对一个或多个存储库进行读写访问。它们都应该通过 git 用户连接,就像在GitHub或BitBucket上一样。

如何指定访问权限,不是绑定到系统的用户,而是绑定到他们使用的SSH密钥?例如,每个人都可以从GitHub上的公共存储库中读取,但不一定要写。虽然他们都会通过git clone git@github.com:YourName/repo_name.git克隆它。因此无法通过Unix用户/组/世界权限进行管理。

此外,还禁用了SSH shell访问。

$ ssh git@github.com
Hi YourName! You've successfully authenticated, but GitHub does not provide shell access.

如何在我的VPS上重现这种“行为”?

1 个答案:

答案 0 :(得分:1)

您可以使用和authorization layer重现(甚至更高程度的控制) gitolite

这是一个使用ssh和ssh密钥的perl脚本,允许您定义组(人员和repos),并将访问控制级别与这些组放在一起。

请参阅" How do programs like gitolite work?"。