无法使用非gitolite管理员用户访问gitolite repos

时间:2013-11-22 07:11:42

标签: git ssh repository gitolite

我在Ubuntu 12.04上安装了Gitolite 3.5.3。我创建了测试仓库,我只能通过gitolite用户访问它,而不是其他人。 我需要允许访问其他系统用户(user1,user,user2)或用户组来通过ssh访问git(push,pull merge等),如下所示:

git clone user1@domain.com:megaproject

但我尝试这样连接:

git clone user@domain.com:megaproject

并为我获得的用户写下正确的密码:

fatal: 'megaproject' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

即使我使用ssh公钥在gitolite用户的主文件夹中创建keydir目录 - 没有任何变化。

我应该更改以这种方式提供访问权限?

1 个答案:

答案 0 :(得分:2)

您永远不会使用'用户'克隆/访问gitolite管理的回购 您始终使用用于安装gitolite的“git”帐户。

Gitolite将通过在~git/.ssh/authorized_keys file中查找用于此次通话的公钥来推断出您实际是谁。

点击“How do programs like gitolite work?”了解更多信息。


如果您想以不同的用户身份访问gitolite管理的repo,您​​需要为这些用户提供正确的公钥/私钥,并在〜/ .ssh / config文件中引用私钥,如“ users are asked for password while using gitolite”。

Host gitolite_as_user1
    HostName gitolite_server_name
    User git
    IdentityFile ~/.ssh/user1

Host gitolite_as_user2
    HostName gitolite_server_name 
    User git
    IdentityFile ~/.ssh/user2

请注意,ssh网址为:

ssh://gitolite_as_user1:yourRepo
ssh://gitolite_as_user2:yourRepo

它将始终使用'git'帐户(但使用不同的公共ssh密钥)