Reputation: 26930
my setup is ubuntu - gitolite - msysgit. After following this tutorial :
https://sites.google.com/site/senawario/home/gitolite-tutorial
Everything works fine.
So I modified and commited - pushed the config file :
repo gitolite-admin
RW+ = id_rsa
repo testing
RW+ = @all
repo project-euler
RW+ = tester
Everyhting got updated etc.
I would now like to test this with the "tester" user but I can't. Shouldn't git clone tester@myServer:project-euler work?
If I try the above I get :
$ git clone [email protected]:project-euler
Cloning into project-euler...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
I tried this from the same machine I used to admin the git.
If I try to use this :
git [email protected]:project-euler
I get : R access for project-euler DENIED to id_rsa
Which is normal I think since the git user doesn't have access.
Any ideas?
After following @VonC links I created the config file as mentioned. I still have the same problem so I fun a ssh -v with the user in trouble. The output is :
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Users/Stefanos/.ssh/config
debug1: Applying options for 192.168.1.3
debug1: Connecting to 192.168.1.3 [192.168.1.3] port 22.
debug1: Connection established.
debug1: identity file /c/Users/Stefanos/.ssh/tester type 1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.1.3' is known and matches the RSA host key.
debug1: Found key in /c/Users/Stefanos/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /c/Users/Stefanos/.ssh/tester
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
UPDATE
I managed to clone the repo by using git clong git@server:repo - not tester@server:repo.
Also if I have the config file I can't login as admin. It logs only as tester. Probably there should be a way to configure this. Thanks for all your help.
Upvotes: 1
Views: 2019
Reputation: 128799
You're confusing gitolite users with linux users. They share some characteristics but differ in others. You always use the user named "git" in the git URL when connecting to gitolite. Regardless of that, whatever user you're trying to connect from must have a keypair (~/.ssh/id_rsa[.pub]). So let's say you're "bob". Your public key is at /home/bob/.ssh/id_rsa.pub. That public key has to be added to the gitolite configuration. Let's say you name it "foo.pub" when you add it. Now "foo" is a valid gitolite user that you can refer to in the config. Just remember that there's no connection, implicit or explicit, between your local user (bob), the user used to connect to gitolite (git), and the gitolite user (foo). The only connection is the public key, which identifies "bob" on your local machine as "foo" to gitolite.
Upvotes: 0
Reputation: 1323793
The first thing to do is to check if the public key of that new user has been published to the gitolite server.
tester.pub
' file, with the public key in it (don't forget those public keys are named after the user: tester.pub
here).ssh
its id_rsa
and id_rsa.pub
.Upvotes: 1