Se você descartou qualquer fator "externo", o seguinte conjunto de etapas geralmente ajuda a reduzi-lo. Portanto, embora isso não responda diretamente à sua pergunta, pode ajudar a rastrear a causa do erro.
Solução de problemas sshd
O que eu acho geralmente muito útil em tais casos é iniciar sshd
sem permitir que ele seja daemonizado. O problema no meu caso foi que nem syslog
nem auth.log
mostraram algo significativo.
Quando eu comecei no terminal, recebi:
# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.
Muito melhor! Esta mensagem de erro permitiu-me ver o que está errado e corrigi-lo. Nenhum dos arquivos de log continha esta saída.
NB: pelo menos no Ubuntu o $(which sshd)
é o melhor método para satisfazer a exigência de 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.
Finalmente: conecte-se à porta alternativa ( ssh -p 10222 user@server
).
Esse método me ajudou muitas vezes a encontrar problemas, seja problemas de autenticação ou outros tipos. 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
.