I just had an interesting learning experience with SSH.
What happened: A particular server was forcing me to use password authentication, even after I had appended my public key to ~/.ssh/authorized_keys. It turns out that my ~/.ssh directory on the server was group writable, so sshd refused to accept publickey authentication attempts.
What I learned: ssh has -v, -vv, and -vvv verbosity levels, and that sshd logs to /var/log/secure (path may vary on other distros). All of the information I needed to troubleshoot this issue was in those logs.
I hope this helps you,