Take the 2-minute tour ×

I've got a Github repo I want to access from two different Linux machines.

For the first machine, I followed Github's instructions for generating SSH keys, and added the resulting public key to Github. This client works fine.

For the second client, I copied the /home/{user}/.ssh/id_rsa file from the first client. I thought this might be all I had to do, but when I try to connect I get 'Permission denied (publickey).'

What am I missing?

share|improve this question

3 Answers 3

up vote 7 down vote accepted

The same SSH key should be able to be used from multiple clients. I have a couple different SSH keys for different networks and they're actually stored on an encrypted USB drive that I use from several different computers without a problem.

SSH is very picky about file permissions so I would first check all the permissions from /home/{user} all the way down to the id_rsa file itself.

SSH does not really care for group or world write permissions so make sure you chmod go-w your home directory and the ~/.ssh directory for starters. I'd also make sure they're owned by your user chown ${USER}:${USER}.

For the SSH key itself I chmod 600 them...

If you want I've have additional info on how I manage my SSH keys in my answer to another SSH question.

share|improve this answer
It was the permissions- Don't have rep to upvote but thanks alot –  Yarin Aug 15 '10 at 15:57

If you're getting permission denied from Github's end, it could be that it's not picking up your copied SSH key file, but rather the system default. An easy way around this is to great a ~/.ssh/config file and put the following in it:

Host github.com
  Hostname      github.com
  User          git
  IdentityFile  ~/.ssh/yourkeyfile

This will force your SSH client to use that key for github.com only.

Hope this helps.

share|improve this answer
Don't have rep to upvote but thanks –  Yarin Aug 15 '10 at 15:58

It's probably because you did not copy the permission of the file on the second client.
But a private key is private, the right way is to create a new private key on the second client and then add its public key to Github

share|improve this answer
I was planning on doing 1 keypair-per-user across each user's mutliple clients. But a key-pair for each client of each user just seems to me like it would get out of hand...? –  Yarin Aug 15 '10 at 14:14
If you use the same private key for each users on each machine it seems OK. Just check permission if you copy using scp with -p flag it should be ok –  radius Aug 15 '10 at 14:20

Your Answer


