2

我有一个运行在 EC2 上的 Gitolite 服务器,运行良好。我之前添加了用户,添加存储库没有问题。

我的 Macbook Pro 可以毫无问题地将代码推送到存储库(它具有存储库的RW+权限)。我还向存储库添加了第二台具有R权限的计算机,以便我可以克隆它。

问题是,在尝试克隆存储库时,我不断收到“权限被拒绝(公钥)”。当我使用 Gitolite SSH 进入服务器并查看用户“git”的 authorized_keys 文件时,我确实看到了第二台计算机的公钥,所以我不确定问题出在哪里——看起来它正在添加就好了。第二台计算机的公钥也位于keydir具有适当名称的下方 ( raspberry.pub)

这是我的 gitolite conf,更改了一些信息以保护隐私:

repo    statistics-app
        RW+     =   andrew
        R       =   raspberry

注意:“andrew”可以推送代码和克隆 repo,但用户“raspberry”不能。有什么问题?

4

1 回答 1

3

在您的第二台计算机上,您应该有一个~/.ssh/config文件:

host gitolite-raspberry
     user git
     hostname raspberry
     identityfile ~/.ssh/raspberry

(例如,请参阅“无法使用 Gitolite 添加用户”)

您需要检查是否使用与ssh 帐户ssh gitolite-raspberry关联的 Gitolite 权限回答您。raspberry

如果没有,ssh -vvv gitolite-raspberry将为您提供线索。


OP Andrew M报告了一个正确的问题:

我没有设置要克隆到的文件夹的权限,所以我“sudoed”了 git 命令。
Raspberry Pi 上的 root 用户不允许克隆,所以它失败了。

于 2012-06-10T17:50:55.653 回答