views:

521

answers:

3

I've recently setup an inhouse git repository server and have it up and running with gitosis installed as the management tool. Read only access is available via the git:// protocol and write access is available via gitosis using ssh public keys.

I have a developer that has been granted access to his projects with a public key that was generated on his desktop workstation.

He is now wanting to access that repository from his laptop using the same ssh key pair. He's copied has .ssh folder in it's entirety to his laptop and has tried to clone from the repository without success.

Is this a valid thing to try?

Does a ssh key pair need to be generated per machine? This seems weird as it would effectively require a per machine username to be added to the gitosis configuration.

Any help would be appreciated.

+6  A: 

Yes I think you can.

I have something similar. Two machines, one Intel (desktop) the other one Sparc. I can log into both machines and access the same CVS server (another machine) using SSH access with the same key pair which was generated on the Intel machine.

Make sure when you copy across your private key that you set both the permissions of the .ssh directory correctly (0700) and your home directory cannot be group or world writable. The id_rsa should only have user read access (0400)

Matt H
Also, in my noobish experience: I had to copy the public key plus ' ' a single space plus my username/email to the id_rsa.pub file on the other machine. Note: I also ran ssh-keygen first in the .ssh dir on Snow Leopard Mac OS 10.6.4. example: [..some cryptography stuff...]== [[email protected]]*brackets above mean **replace text inside them**
mkelley33
+4  A: 

Yes, that's perfectly legitimate. ssh keys don't care where they were generated, and it's fine to have them on multiple machines at once.

Try giving the ssh client the "-v" or "-vv" option (for verbose output) and check the server's ssh log to debug the problem.

Andrew Medico
A: 

Is the developer's username the same on both client machines?

Nate
No they aren't but I don't think that matters in this case. The git clone command being used specifies git@<server> in the command line. So access is via the generic git user at the repository end.
Lou