Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git clone git@myserver:gitolite-admin fails

Tags:

git

gitolite

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.

like image 937
macbert Avatar asked Sep 27 '12 08:09

macbert


People also ask

Why is git clone command not working?

If you have a problem cloning a repository, or using it once it has been created, check the following: Ensure that the user has gone through initial GitCentric login and has the correct username, email, and ssh. This should return a usage message that refers to the config-branch, config-repo, and ls-repo commands.

How do I git clone my resume in terminal?

No, cloning cannot be resumed, if it's interrupted you'd need to start over. If you suspect that there's a good chance that your clone may be interrupted, look for a git bundle that you can download using a protocol that can be resumed.


2 Answers

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

like image 153
MrOodles Avatar answered Sep 19 '22 23:09

MrOodles


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.

like image 41
VonC Avatar answered Sep 21 '22 23:09

VonC