Não é possível depurar isso ainda mais do lado do cliente. O cliente está oferecendo a chave, não sendo aceita, deve ser um problema no lado do servidor. A maneira mais rápida de descobrir o motivo, se for possível, é iniciar outro sshd no modo de depuração, que informará exatamente por que a chave foi rejeitada. No lado do servidor:
/usr/sbin/sshd -d -p 2222
que iniciará um sshd no modo de depuração na porta 2222 (uma porta diferente para que não perturbemos o servidor que está sendo executado na porta 22).
Em seguida, no lado do cliente:
ssh -p 2222 user@remotehost
Você deve ver a razão pela qual sua chave foi rejeitada no terminal onde você inicia o sshd.
Geralmente, o problema é que as permissões são muito frouxas. O arquivo authorized_keys e toda a ancestralidade do diretório não devem ser graváveis por ninguém além do usuário. Portanto, se o arquivo authorized_keys estiver em /home/username/.ssh/authorized_keys, então, por exemplo, /, / home, / home / username, todos NÃO poderão ser graváveis em grupo.