9/10krát je to proto, že ~/.ssh/authorized_keys není ve správném režimu.
chmod 600 ~/.ssh/authorized_keys
Chcete-li povolit ověřování pomocí klíče, přejděte do /etc/ssh/sshd_config. Měli byste v něm mít něco takového a ujistěte se, že řádky nejsou komentovány:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PS:po úpravě souboru nezapomeňte restartovat sshd (/etc/init.d/sshd restart)
Zjistil jsem, že u mého systému byl problém v tom, že adresář uživatele (/home/username) byl vybaven nesprávně nastavenými oprávněními. Bylo to drwxr-x-w-
a muselo to být drwxr-xr-x
(se svolením k zápisu pouze pro majitele). Řešením bylo použít chmod:
sudo chmod 0755 /home/username