Git "server",通过 SSH 密钥管理访问



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

如何指定访问权限,而不是绑定到系统用户,而是绑定到他们正在使用的SSH密钥?例如,每个人都可以从GitHub上的公共存储库中进行读取,但不一定要进行写入。尽管他们都会通过CCD_ 1克隆它。因此,它不能通过Unix用户/组/世界权限进行管理。

此外,SSH外壳访问被禁用。

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

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

您可以使用像gitolite这样的授权层进行复制(甚至可以进行更大程度的控制)。

它是一个perl脚本,用于处理ssh和ssh密钥,允许您定义组(人员和repo),并为这些组设置访问控制级别。

请参阅"像gitolite这样的程序是如何工作的?"。

最新更新