I use my site for a lot of reasons: sharing information with the world, posting projects, and sharing my photography. Another use, however, is a reminder for myself on how to do something. This is one of those cases: how to connect to an SSH server without the need of a password.
This is a very simple process, and I've actually written about it before (I just wanted a dedicated tutorial).
You'll need to do this on every machine that you want to SSH into (local and remote). Locally, open up a terminal session, or login into your remote server via SSH, and run this command:
$ ssh-keygen -t rsa
You'll be prompted a few times:
Generating public/private rsa key pair. Enter file in which to save the key (~/.ssh/id\_rsa): \[hit enter\] Enter passphrase (empty for no passphrase): \[hit enter\] Enter same passphrase again: \[hit enter\] Your identification has been saved in ~/.ssh/id\_rsa. Your public key has been saved in ~/.ssh/id\_rsa.pub. The key fingerprint is: \[Your Key\] The key's randomart image is: +--\[ RSA 2048\]----+ \[A Crazy Image\] +-----------------+
If you've already done this on a machine, there is no need to do it again.
Now that you have a public key available, you can append it to the authorized_keys file of the remote host. Run the following command locally:
$ cat ~/.ssh/id\_rsa.pub | ssh firstname.lastname@example.org "mkdir ~/.ssh; cat >> ~/.ssh/authorized\_keys"
You'll be prompted for your password; assuming that everything has been completed properly, this should be the last time you need to enter it to connect to the remote host.
You should now be able to connect to your server without the need of a password:
$ ssh email@example.com