Faz sentido fornecer mais algumas informações sobre as configurações em /etc/ssh/sshd_config , em particular StrictModes ( grep StrictModes /etc/ssh/sshd_config ). StrictModes é a configuração que determina o quanto o sshd reage às permissões de arquivo e pasta de cada usuário ~/.ssh e ~/.ssh/authorized_keys .
Você também não nos forneceu a configuração de AuthorizedKeysFile em seu sshd_config . Muito relevante, se o seu servidor SSH estiver procurando pelo arquivo em algum lugar diferente do que você o colocou.
Mas, além das respostas até agora, pode haver uma infinidade de razões para isso. O problema é que, mesmo que você tenha tentado, não há informações suficientes para adivinhar o que está errado.
Mais uma coisa pode ser restrições do PAM ( UsePAM in sshd_config ). O Ubuntu costumava ter isso em algum momento. Se a conta de usuário não tiver um conjunto de senhas (autenticação somente de chave pública), isso não será permitido.
Mas deixe-me dar um método genérico para depurar esses problemas.
Solução de problemas genérica de sshd
O que eu acho geralmente muito útil em tais casos é iniciar sshd sem deixar que ele seja daemonize ("entrar em segundo plano e desconectar do terminal"). Frequentemente, os logs não serão muito úteis, especialmente quando você tem um erro de configuração (o que não é o caso óbvio, pelo menos).
Você começa do terminal assim:
# $(which sshd) -Ddp 10222
Isto lhe dará uma grande quantidade de resultados de depuração que de outra forma não apareceriam (sem o -d ) ou terminariam nos registros se você tiver sorte.
NB: o $(which sshd) é o melhor método para satisfazer o requisito sshd de um caminho absoluto. Caso contrário, você receberá o seguinte erro: sshd re-exec requires execution with an absolute path . O -p 10222 faz com que sshd ouça nessa porta alternativa, sobrescrevendo o arquivo de configuração - isso é para que ele não entre em conflito com as instâncias sshd potencialmente em execução. Certifique-se de escolher uma porta livre aqui.
Esse método me ajudou muitas vezes a encontrar problemas, seja problemas de autenticação, problemas de desempenho ou outros tipos de problemas. Para obter uma saída realmente detalhada para stdout , use $(which sshd) -Ddddp 10222 (observe o dd adicionado para aumentar a verbosidade). Para mais bondade de depuração, verifique man sshd .
No lado do cliente ssh pode levar -v (até -vvv ) para ser realmente detalhado sobre o que está fazendo.
A linha de log
... ubuntu sshd[8476]: User root not allowed because account is locked
sugere que, sendo esse o problema, execute:
sudo passwd -u root