SSH “lag” na LAN em algumas máquinas, distribuições mistas

9

Eu tive um problema estranho com conexões SSH dentro da minha LAN por alguns meses. Isso só acontece quando estou usando meu dispositivo Windows 10 para conectar-me a uma máquina Linux (barebone).

Quando eu me conecto a um servidor SSH, é como se minha entrada fosse enviada apenas uma vez a cada segundo. Se eu segurar uma tecla, ela não imprime nada por um segundo e, após esse segundo, vejo todas as teclas pressionadas durante esse período.

É assim que fica nos servidores em funcionamento:

É assim que parece com aqueles com o problema:

Coisas que testei / descobri

  • Alterar a configuração "UseDNS" em / etc / sshd não a corrige
  • Isso acontece com o bash (e zsh) no Debian (OpenSSH_7.4p1 Debian-10 + deb9u6, OpenSSL 1.0.2r 26 de fevereiro de 2019) e Ash no Alpine Linux (OpenSSH_7.9p1, OpenSSL 1.1.1b 26 de fevereiro de 2019)
  • Isso não acontece no Alpine Linux OpenSSH_7.7p1, LibreSSL 2.7.4
  • Isso não acontece com todas as máquinas, apenas algumas (não dependendo da distribuição)
  • resolv.conf está correto
  • Ocorre um erro com e sem ClientAliveInterval (testado no cliente e no servidor)
  • O ping dos dispositivos é sempre rápido (menos de 1 ms), portanto, é apenas SSH
  • Também fica atrasado quando ssh do subsistema linux no Windows 10 e com Putty e com MobaXterm
  • Sem problemas quando eu me conecto do Linux em vez do Windows

Alguém tem alguma pista ou algo que eu poderia tentar? obrigado

cristão
fonte

Respostas:

15

Normalmente, isso é um sinal do algoritmo de Nagle ; você pode desativar essa opção de soquete.

(Também já vi atrasos TCP semelhantes entre o Linux e o Windows em outros casos. Em um caso, isso foi causado por interações entre os tamanhos TCP do Windows e sinalizadores PSH (Push), que fizeram com que o Windows reconhecesse tarde e / ou tentasse novamente.)

eckes
fonte
Incrível, obrigado por essa solução rápida! Nas configurações do Putty, desmarquei a caixa de seleção "Desativar o algoritmo de Nagle" (que parece estar marcada por padrão) e agora funciona!
Christian
@Christian obrigado pela confirmação, eu simplifiquei a minha resposta um pouco
Eckes
@ Christian, estou confuso. Você ativou o algoritmo de Nagle e agora os personagens não vêm em pacotes maiores? Isso me parece errado, então talvez a resposta antes da edição tenha sido realmente melhor.
Carsten S
@CarstenS sim, tudo o que fiz foi desmarcar a opção "desativar o algoritmo de Nagle" em Putty, o que significa que eu o habilitei . Mas eu acho que é uma versão mais antiga do Putty talvez por isso a etiqueta na caixa de seleção está errado
Christian
Hum, de fato estranho.
Eckes