Ok, nothing special here; just some wayt to beef up ssh and make it easier to use.
If your like me you have a number of machines that you have control of and that you ssh into often (or your scripts do).
First lets do some hardening (all and more in the man page). In the /etc/ssh/sshd_config file on the server/s put in the "AllowUsers" directive with the users you want to allow to ssh, (root does not need to be one if you want root access, explained later). Now modify or enter the "PermitRootLogin" directive with the "without-password" option. Now go the the "PubkeyAuthentication" directive and make sure it is uncommented and the answer is "yes"
So far you have just made sshd a bit more secure and readied it for public key auth.
Now on the client machine, in the ~/.ssh dir do "ssh-keygen -t rsa". This will make a keypair. Now, scp the "id_rsa.pub" file to your users home dir on the ssh server machine. SSH into that machine and do "cat id_rsa.pub > ~/.ssh/authorized_keys". Verify the operation then delete the id_rsa.pub file. cd to ~/.ssh and "chmod 600 authorized_keys" and "chmod 700 ~/.ssh".
Now as root on the ssh server, restart the ssh server and exit.
Now try to ssh to that server as the user who made that keypair and voila. No password request.
This saves me countless headaches and also makes it a snap to have cron run ssh/scp/rsync jobs accross the net.