git clone git@myserver:gitolite-admin fails

2020-02-08 09:22发布

I am trying to get an git server repository running. I did install gitolite

when running git info over ssh the server answers

ssh git@myserver info

hello Brian, this is git@hepide01pep1 running gitolite3  on git 1.6.3.2
R W   testing

When trying to clone the gitolite-admin repository I get the following error

git clone git@myserver:gitolite-admin

Cloning into 'gitolite-admin'...
FATAL: R any gitolite-admin Brian DENIED by fallthru
(or you mis-spelled the reponame)
fatal: The remote end hung up unexpectedly

Same thing happens with this syntax

git clone ssh://git@myserver/gitolite-admin 
Cloning into 'gitolite-admin'...
FATAL: R any gitolite-admin Brian DENIED by fallthru
(or you mis-spelled the reponame)
fatal: The remote end hung up unexpectedly

Cann anybody give me some useful hints? I checked the Answers here and on the web but didn't find anything that helped me any further.

标签: git gitolite
3条回答
姐就是有狂的资本
2楼-- · 2020-02-08 10:07

The accepted answer is a good one if you you're just setting up gitolite, but if you're a new user to an existing installation, you'll get the same error as the one in the question unless you've been added as an administrator.

If you have shell access to the server gitolite lives on, login and switch to the user that gitolite users - usually called git.

Once logged into the gitolite user, go to the conf file and give yourself RW+ rights on the gitolite-admin repo. Gitolite conf is usually in /home/git/.gitolite/conf/gitolite.conf (assuming username is git). For a gitolite user named Peaches, grant the permissions thusly:

repo gitolite-admin
    RW+     =   OriginalAdmin Peaches

Save the file, and run setup from the command line, still as the gitolite user:

gitolite setup

If you've been setup as a user correctly, you should be able to clone now.

For more on adding users, see the documentation

查看更多
叼着烟拽天下
3楼-- · 2020-02-08 10:09

Usually bare git repos are using a .git name. Please try to do

git clone git@myserver:gitolite-admin.git

查看更多
三岁会撩人
4楼-- · 2020-02-08 10:11

gitolite-admin is only accessible with the public key named after the git account used for the gitolite server.

You are using by default your brian.pub, which only gives you access to testing.git repo.

you need to define a $HOME/.ssh/config file on your local workstation, in order to record ssh parameters to use the right key.
See "gitolite: can connect via ssh, can't clone".

~/.ssh/gitolite.pub
~/.ssh/gitolite

Then I define a config file: ~/.ssh/config with in it:

host gitolite
     user git # replace it by the actual git user for the gitolite server
     hostname server.com
     identityfile ~/.ssh/gitolite

The clone will work:

git clone gitolite:gitolite-admin

The OP macbert confirms:

I did rename the key to git.pub, ran gitolite setup -pk git.pub and removed the old brian key from the .gitolite/keydir.
After that I got git clone git@myserver:gitolite-admin:

Cloning into 'gitolite-admin'... 
remote: Counting objects: 15, done. 
remote: Compressing objects: 100% (12/12), done. 
remote: Total 15 (delta 0), reused 0 (delta 0) 
Receiving objects: 100% (15/15), done.

So with the right default key, a ssh git@myserver info should this time display the right access for gitolite-admin repo in the 'hello' message.

查看更多
登录 后发表回答