git clone git@myserver:gitolite-admin fails

前端 未结 3 1173
囚心锁ツ
囚心锁ツ 2020-12-14 13:00

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
         


        
相关标签:
3条回答
  • 2020-12-14 13:38

    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.

    0 讨论(0)
  • 2020-12-14 13:40

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

    git clone git@myserver:gitolite-admin.git

    0 讨论(0)
  • 2020-12-14 13:46

    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

    0 讨论(0)
提交回复
热议问题