Acho que a nlu apontou na direção certa.
A melhor maneira de rastrear problemas no ssh é parar o sshd
no lado do servidor e iniciá-lo com $(which sshd) -d
.
Isso fornecerá mensagens de erro mais significativas em quase todos os casos.
Atualização: desculpe - você já fez isso.
Parece haver uma diferença entre o sshd no cli e o serviço: SELINUX.
No CLI, não é tão restritivo. Você tem o selinux ativado? Se assim for - verifique os se-logs / configurações!