W access for gitolite-admin DENIED to user

I’ve been trying very hard to get gitolite working. I used the package approach and am able to do a first “git push” with a first user to the server. After that, if if I add a key and try to push something again, I get an error saying “W access for gitolite-admin DENIED to mike”- note that it’s supposed to be using the gitolite user- not my username. I guess this is because I’m adding private keys for both users in my .bash_profile. (I’m using msysgit)…

Any ideas?

Thanks a lot!

  • Git launches mergetool without any arguments
  • Git pull hangs on SMB shared repository
  • gitolite installation issue
  • How to customize which terminal is used by the “Git Bash Here” command of msysgit's shell extension?
  • git cherry-pick succeeds but shows worktree as dirty due to eol mismatch
  • git - Change all global settings
  • git push validation from windows sets author to unknown
  • Too Many Directories In Working Copy After Git Sparse Checkout
  • 2 Solutions collect form web for “W access for gitolite-admin DENIED to user”

    I guess this is because I’m adding private keys for both users

    True, you should use a dedicated public/private key for the gitolite user, the one which is also used for ssh access.
    You can confirm it by looking in the gitolite logs (in ~gitolite/.gitolite/logs)

    Using multiple keys is done through a config file.
    See as an example “users are asked for password while using gitolite”.
    The %HOME%/.ssh/config file could contain something like:

    HostName gitoliteserver 
        User gitolite
        IdentityFile ~/.ssh/gitolite
    
    Host mikegitolite
        HostName gitoliteserver 
        User mike 
        IdentityFile ~/.ssh/id_rsa
    

    Don’t forget to define HOME is you are on Windows: it isn’t defined by default)


    The OP Mike Gagnon confirms in the comments the following config is working:

    host gitolite 
    user gitolite 
    hostname myhost 
    port 443 
    IdentityFile ~/.ssh/gitolite
    
    host edison 
    user gitolite 
    hostname myhost 
    port 443 
    IdentityFile ~/.ssh/mike
    

    I had a similar problem in that I could only make one push to a new gitolite repo, then I lost access.
    I was able to fix this by adding my username to the .conf file on the first push:

    %> cat conf/gitolite.conf repo gitolite-admin
    RW+ = git-admin myusername

    Git Baby is a git and github fan, let's start git clone.