Multiple gitolite users on one machine

前端 未结 1 1118
忘了有多久
忘了有多久 2021-01-15 17:42

I\'ve set up gitolite on a remote machine and configured it from my local. I didn\'t want to have my activity shown as \"admin\" and created the user and key \"noah\". After

相关标签:
1条回答
  • 2021-01-15 18:24

    If you are using those tow accounts with different ssh keys (as described in "How do programs like gitolite work?"), the way you switch is by using an ssh url which instructs ssh to look for noah's key (instead of admin's key).

    For that, you need an ssh config file (in your HOME/.ssh/config), as I detailed in "How to use specified key when working with github via portablegit?":

    #admin account
    Host gitolite-admin
        HostName yourGitoliteServer
        User git
        IdentityFile ~/.ssh/id_rsa_admin
    
    #noah account
    Host gitolite-noah
        HostName yourGitoliteServer
        User git
        IdentityFile ~/.ssh/id_rsa_noah
    

    To clone your repo made for noah, you would use an url which reference the right entry in the ssh config file.

    git clone gitolite-noah:yourRepo.git
    

    By using that url, you are setting a remote named origin: you can see it with git remote -v.

    That means any command using that remote name (like git pull origin or git push origin) will use that ssh url, which explicitly refers to a specific private ssh key, which in turn identifies you to Gitolite as noah.


    The most effective way to debug ssh is by checking how the sshd listen to the query on the server.

    Since it is a debian (as per out discussion):

    • /usr/sbin/sshd -d -D -p 222 on the server,
    • ssh -p 222 -Tv git-noah on the client

    (note the trick of using a dedicated port, that way, no need to stop the actual sshd: it is a one-time session on a special port for debug purpose only)

    We quickly saw a

    Could not open authorized keys '/home/git/.ssh/authorized_keys': Permission denied
    

    Which is consistent with:

    root@server:/# ls -lato ~git/
    drw------- 2 git 4096 Apr 19 14:57 .ssh
    

    A chmod 700 ~git/.ssh fixed the situation.

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