Dois palpites:
-
Perda de pacotes. Não confie no "ping" que você executou em paralelo, pois a perda de pacotes pode estar afetando apenas os fluxos TCP, por qualquer motivo. Uma maneira simples de detectá-lo é executar
$ netstat -s -p|grep "segments retransmited"
com frequência nos dois lados (cliente e servidor ssh) durante a sessão SSH. Veja se o contador aumenta, caso em que você experimentou perda de pacotes em sessões TCP nesta máquina. Dito isso, a melhor maneira é usar tcpdump ou wireshark para registrar o que está acontecendo e confirmar que estão ocorrendo re-transmissões (geralmente são marcadas com vermelho por wireshark, mas YMMV). -
problemas de MTU. Se você estiver tentando listar o conteúdo de um diretório grande via SSH, por exemplo, pode ocorrer que a quantidade de dados sendo transmitidos exija que ele seja fragmentado. Os pontos de extremidade usarão detecção de caminho MTU para determinar a quantidade de dados a serem enviados por vez. Mas, em alguns casos, um firewall no caminho pode estar bloqueando todos os pacotes ICMP e, portanto, quebrando a detecção do caminho MTU, causando congelamentos aparentes. Isso pode ser difícil de confirmar e diagnosticar. A solução mais fácil que sempre funciona é alterar o MTU da interface de rede em ambos os lados para um valor baixo, como 1200 ou 1000. Isso pode prejudicar seu desempenho, então é melhor não usar isso para sempre.