Skip to content

August 12, 2006

SSH with Public Key Authentication

Okay, say you have a server, you have to ssh to this server … say 20 times a day?
It gets irritating having to login and type your password repeatedly. Not to mention it can be insecure if anyone is sniffing the network.

So on your desktop machine you want to create some keys. This can be done with the following command:

ssh-keygen -t rsa

At the prompts just press enter for all the defaults. This includes an empty password.

Now you should have a file in .ssh/ , this file has to go to the server. You can do this with this command

cat .ssh/ | ssh [email protected] "cat - >>.ssh/authorized_keys"

All going well, this should exit cleanly. Test it by ssh’ing again to the server normally, if all goes well it shouldn’t prompt but just drop you into your remote shell.
If this fails make sure your servers /etc/ssh/sshd_config has the following line

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Also, you will need specific permissions in order for this to work as well, so the follow needs to be run as the user you are logged in as.

server$ chmod go-w ~/
server$ chmod 700 ~/.ssh
server$ chmod 600 ~/.ssh/authorized_keys

Enjoy your keyless SSH access.

Share your thoughts, post a comment.


Note: HTML is allowed. Your email address will never be published.

Subscribe to comments