Isso pode vir de um problema no perfil.
Quando você se conectar com ssh -t /bin/bash
, seu shell não fará o 'login', ele não irá originar o /etc/profile
nem o ~/.profile
e ~/.bashrc
...
Então, depois de conectar, coloque o shell no modo de depuração e, em seguida, digite cada arquivo para encontrar o que está bloqueando:
set -x
. /etc/profile
...and so on
EDITAR
Note que eu estava errado, o arquivo .bashrc será originado por qualquer shell interativo (portanto, apenas o perfil, os arquivos profile.d importam aqui).
Tente fazer a lista das diferentes fases do processo de conexão. Algo parecido com isto
1) ssh conectando (config, ...)
2) login (PAM, tty, wtmp, ...)
3) iniciando o shell (profile, home dir access, ...)
Para verificar o (1) você pode iniciar o daemon sshd no modo de depuração. Para isso, você precisa iniciar outro sshd, ouvindo uma porta dedicada (não na porta 22, portanto não é necessário parar o daemon sshd comum).
# /usr/sbin/sshd -p 2222 -ddd
Esse sshd aceita apenas uma conexão e não entra em segundo plano. Abra outro terminal e conecte-se a essa sessão ssh.
# ssh -vvv -p 2222 user@host
Você pode comparar as mensagens que recebe com a de outro servidor da mesma marca. Então você saberá se o problema está no lado do ssh ou não.
(- ddd e -vvv são o nível máximo de depuração, você pode ajustar isso)
Recebi o link , muito mais detalhado, espero que ajude você.