12

In git/gitosis a single ssh key is stored with the filename the same as user name.

i.e. myusername.pub

If I want to access a repository from many machines, must I make a new user from each location or is there a way to have multiple ssh keys for a single user.

zenna
  • 9,006
  • 12
  • 73
  • 101

4 Answers4

11

Actually, gitosis supports that. You just have to add the ssh key on a new line in the key file.

igorw
  • 27,759
  • 5
  • 78
  • 90
2

You can no longer add a key per line in the .pub files as suggested by igorw. I tried it and got the following message back.

WARNING: a pubkey file can only have one line (key); ignoring kent.pub
         Perhaps you're using a key in a different format (like putty/plink)?
         If so, please convert it to openssh format using 'ssh-keygen -i'.
         If you want to add multiple public keys for a single user, use
         "user@host.pub" file names.  See the "one user, many keys"
         section in doc/3-faq-tips-etc.mkd for details.

I tried the suggested solution which was to create a new pub file with the name <user>@<host>.pub and it worked fine.

Mattias B
  • 29
  • 4
0

Users in gitosis are not "normal" users, so yes, you create a user per ssh key. This article explains it very well.

(Alternatively you copy your key on all your machines, not as nice/secure but works fine too)

Peter Tillemans
  • 34,983
  • 11
  • 83
  • 114
0

Gitosis talks through SSH, and uses SSH keys to uniquely identify users. If you want to act as the same user on multiple machines, you simply need to copy the private key (~/.ssh/id_rsa) to the ~/.ssh directory on the second machine. If the second machine already has a key, you can copy the key to a different filename (say ~/.ssh/mygitkey) and configure SSH to use it for the appropriate server. Edit/create the ~/.ssh/config file and add this content:

host mygitserver
    identityfile ~/.ssh/mygitkey
Ben Straub
  • 5,675
  • 3
  • 28
  • 43