Setting up public key authentication over SSH

Generate key on local machine

ssh-keygen -t rsa

It will ask you for a password but you can leave it blank.

Note you could also pick -t dsa if you prefer. Ensure that the remote server has a .ssh directory

Make sure the server your connecting to has a .ssh directory in your home directory. If it doesn’t exist you can run the ssh-keygen command above, and it will create one with the correct permissions. Copy your local public key to the remote server

If your remote server doesn’t have a file called ~/.ssh/authorized_keys then we can create it. If that file already exists, you need to append to it instead of overwriting it, which the command below would do:

scp ~/.ssh/

Now ssh to the remote server

Now you can ssh to the remote server without entering your password.


If you are unable to login without being prompted for a password it is likely the result of improper permissions being set on .ssh/ and its children. SSH is picky about permissions; to fix the problem, ssh to the remote server and issue the following command:

chmod -R 700 .ssh/

Now keep in mind that all someone needs to login to the remote server, is the file on your local machine ~/.ssh/id_rsa, so make sure it is secure.