9/10 fois c'est parce que ~/.ssh/authorized_keys n'est pas dans le bon mode.
chmod 600 ~/.ssh/authorized_keys
Archivez /etc/ssh/sshd_config pour autoriser l'authentification avec une clé. Vous devriez avoir quelque chose comme ça dedans, et assurez-vous que les lignes ne sont pas commentées :
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PS :n'oubliez pas de redémarrer sshd après avoir modifié le fichier (/etc/init.d/sshd restart)
J'ai découvert qu'avec mon système, le problème était que le répertoire utilisateur (/home/nom d'utilisateur) était équipé du mauvais ensemble d'autorisations. C'était drwxr-x-w-
et il devait être drwxr-xr-x
(avec autorisation d'écriture uniquement pour le propriétaire). La solution était d'utiliser chmod :
sudo chmod 0755 /home/username