W access for gitolite-admin DENIED to user

2020-02-12 09:09发布

问题:

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!

回答1:

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


回答2:

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