On virtually all of the servers that I work on, we use SSH pub-key authentication to help reduce the common brute force password attempts you see on ssh servers.
Recently when I was deploying a CentOS 6.2 server I ran into a problem trying to connect. Every time I connected it would not read the keys from %h/.ssh/authorized_keys
Looking at the logs on putty I saw the following: 'Server refused our key'
So I checked /var/log/messages and secure but didn't come up with any hits, and the permissions on the folders (.ssh & authorized_keys) were correct (700 and 600 respectively). Then looking at the /var/log/audit/audit.log file I picked up on the clue:
HA! It's Selinux blocking, but why, it's never done this before and we actually DO want it running. The trick turned out to be filed in a bug report (Bug 499343). The sub folders in this user folder were not labeled correctly so selinux could not see them.
The fix:
That did the trick for us.
I guess it's worth noting that if had wanted to turn off SElinux, you could do the following:
Let others know if this helped you too in the comments below!