Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question is similar to SSH public key authentication - can one public key be used for multiple users? but it's the other way around.

I'm experimenting on using ssh so any ssh server would work for your answers.

Can I have multiple public keys link to the same user? What are the benefits of doing so? Also, can different home directories be set for different keys used (all of which link to the same user)?

Please let me know if I'm unclear.


share|improve this question
up vote 36 down vote accepted

You can have as many keys as you desire. It's good practice to use separate private/public key sets for different realms anyway, like one set for your personal use, one for your work, etc.

First, generate two separate keypairs, one for home and one for work:

ssh-keygen -t rsa -f ~/.ssh/id_rsa.home
ssh-keygen -t rsa -f ~/.ssh/

Next, add an entry to your ~/.ssh/config file to pick the key to use based on the server you connect to:

Host home
IdentityFile ~/.ssh/id_rsa.home
User <your home acct>

Host work
IdentityFile ~/.ssh/
User <your work acct>

Next, append the contents of your into ~/.ssh/authorized_keys on the work machine, and do the same for the home key on your home machine.

Then when you connect to the home server you use one of the keys, and the work server you use another.

Note you probably want to add both keys to your ssh-agent so you don't have to type your passphrase all the time.

share|improve this answer
This would work even if and were planted on the same server right? The reason is I might be connecting to a server from different computers, so I'm wondering if it makes sense to have different keypairs for each computer even if they're connecting to the server as the same user. Thanks. – Russell Jan 12 '11 at 21:48
Absolutely! On the server side, ssh will check all the public keys in the authorized_keys file until it finds a match. So you can put all the keys in the same authorized_keys file on the server no problem. – Phil Hollenback Jan 12 '11 at 21:54
Thanks so much. Things seem clear now! – Russell Jan 12 '11 at 22:09
very well written, thanks ! – monojohnny Nov 11 '14 at 21:41
Short, dense, clear and right to the point! – Trismegistos Jan 15 '15 at 9:00

It makes lots of sense to have multiple users' keys going to one user. Common reasons are:

  • backup
  • git (e.g. Push URL: git+ssh://git@git-server/~/repos/MyProject)
  • rsync
  • common access to an app

As far as having different homedirs, you can change them per key by prepending environment="HOME=/home/user1" for user1's key in the authorized_keys file. See man authorized_keys.

Try it out, YMMV.

share|improve this answer
Great, thanks a lot! – Russell Jan 12 '11 at 22:10

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.