I should of really written about this ages ago.
SSH Keys allow you to log into a server without the need for passwords by providing a public, private keypair for authentication, you can of course choose to specify a password for the authentication for an added level of security (Allowing you to have one unified login for you servers).
For the general user I would suggest the use of a password for securing the key further, you can forgo this in the case of secured automated processes however. (i.e. server to server backup via scp).
From the client machine:
Generate the key
ssh-keygen -t rsa
Follow the prompts to enter your password (or just hit enter for no password).
Copy the key
You must now copy the key to the server you wish to log in to.
scp ~/.ssh/id_rsa.pub target_user@target_server.com:~/.ssh/
Now log into the target server.
[target_user@target_server.com ~] cd ./.ssh/ [target_user@target_server.com .ssh] cat ./id_rsa.pub >> ./authorized_keys
Now exit the shell on the target server, and re-login.
If you are prompted to enter a password this should be the password you entered when generating the key, if you did not specify a password you should now be logged into the target server without being prompted for a password.
This process works for both linux and MAC OSX, when generating keys as the client.
NOTE: If you regenerate the key for whatever reason this will replace the olde key pair, and you will need to go through the procedure of copying to the target server again.