Acabei de ter o mesmo problema na minha caixa 12.04. Ou seja mesmos sintomas. Infelizmente, sempre acontecia quando eu introduzia a cláusula ListenAddress com os endereços inet e inet6 em sshd_config . Em suma, isso parece ser um sintoma de um sshd_config mal formado - embora os arquivos de log não digam nada disso.
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.
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 .