Algumas abordagens de depuração:
Você verificou que o sshd está realmente em execução.
por exemplo. ps aux|grep sshd
e netstat -nltp|grep 22
(como root)
Assumindo que sshd
esteja em execução, queremos ver o tráfego da rede e o que está acontecendo no processo sshd
do servidor e o cliente ssh
process:
-
Você pode ssh para o host do loclhost?
-
Aumente o registro do ssh em / etc / ssh / sshd_config e verifique os registros.
-
tcpdump -i any tcp dst port 22 and src host <ssh_client_ip/host>
no host do servidor
-
tcpdump -i any tcp dst port 22 and dst host <ssh_server_ip/host>
no host do cliente
-
Anexe o strace -F -p <listening sshd process pid>
à instância de escuta de sshd
no servidor e veja o que está acontecendo.
-
ssh no servidor, executando o cliente em strace
, ou seja, strace ssh <user>@<host>
e veja o que está acontecendo
Interrompa também o serviço sshd no servidor e execute o daemon sshd a partir da linha de comandos no modo de depuração. por exemplo:
service sshd stop;pkill sshd
sshd -d3
ou
service sshd stop;pkill sshd
strace sshd -d3
.
O -d3
executa o sshd com um nível de depuração alto e o impede de separar / bifurcar. Ou seja será a única instância em execução e a saída deverá ir para o seu terminal
Você também pode querer usar o -oLogLevel=DEBUG
na linha de comando do cliente para torná-lo mais ruidoso.
Se você estiver usando chaves para autenticação, verifique o diretório de que suas chaves estão em e, g, ~/.ssh
têm permissões permanentemente suficientes. por exemplo, chown -R ${USERID}. .sshd; chmod -R 700 .sshd
.