Eu estou supondo que você setup root colocando a chave em /root/.ssh/authorized_keys também? Não é incomum haver problemas de permissões que façam com que as authorized_keys sejam ignoradas pelos usuários.
Verifique se ~ / .ssh / é 700 e verifique se ~ / .ssh / authorized_keys é de propriedade do usuário e 600:
$ cd ~/.ssh/; ls -ld
drwx------ 2 somedude somegroup 4096 Aug 21 21:09 .
$ ls -l authorized_keys
total 52
-rw------- 1 somedude somegroup 4324 Oct 14 2010 authorized_keys
Se tudo isso parece bom e ainda não funciona, mude o LogLevel no seu / etc / ssh / sshd_config para o DEBUG3 e reinicie o sshd:
# grep LogLev /etc/ssh/sshd_config
LogLevel DEBUG3
# /etc/init.d/sshd restart
Agora tente e ssh na sua caixa. Você deve obter uma saída do syslog que, esperamos, irá apontar você para o problema. Se você está tendo problemas para ver a saída de depuração em qualquer registro, tente apenas parar o sshd e executá-lo na linha de comando:
# /etc/init.d/sshd stop; sshd -d
(tenha cuidado aqui, o sshd irá morrer após a primeira conexão na depuração, então reinicie-o rapidamente, caso contrário o ssh ficará na sua caixa ...)
Se não está claro qual é o problema ainda é postar a saída de depuração, bem como a saída de ssh -v username @ server na questão.