web-dev-qa-db-fra.com

"Lag" SSH en LAN sur certaines machines, distributions mixtes

J'ai eu un problème étrange avec les connexions SSH à l'intérieur de mon LAN pendant quelques mois. Cela ne se produit que lorsque j'utilise mon appareil Windows 10 pour me connecter à une machine Linux (barebone).

Lorsque je me connecte à un serveur SSH, c'est comme si mon entrée n'était envoyée qu'une fois par seconde. Si je tiens une touche, elle n'imprime rien pendant une seconde et après cette seconde, je vois chaque frappe que j'ai faite pendant ce temps.

Voici à quoi cela ressemble sur les serveurs de travail: 

Voici à quoi cela ressemble sur ceux qui ont le problème: 

Ce que j'ai testé/découvert

  • La modification du paramètre "UseDNS" dans/etc/sshd ne le résout pas
  • Cela se produit avec bash (et zsh) sur Debian (OpenSSH_7.4p1 Debian-10 + deb9u6, OpenSSL 1.0.2r 26 février 2019) et Ash sur Alpine Linux (OpenSSH_7.9p1, OpenSSL 1.1.1b 26 février 2019)
  • Cela ne se produit pas sur Alpine Linux OpenSSH_7.7p1, LibreSSL 2.7.4
  • Cela ne se produit pas avec toutes les machines, juste certaines (pas en fonction de la distribution)
  • resolv.conf est correct
  • Une erreur se produit avec et sans ClientAliveInterval (testé sur le client et le serveur)
  • Le ping des appareils est toujours rapide (moins de 1 ms) donc c'est seulement SSH
  • Il est également en retard lorsque je ssh à partir du sous-système Linux sur Windows 10 et avec PuTTY et avec MobaXterm
  • Aucun problème lorsque je me connecte depuis Linux au lieu de Windows

Quelqu'un at-il des indices ou des choses que je pourrais essayer? Merci

9
Christian

En général, c'est un signe de algorithme de Nagle , vous pouvez désactiver cette option de socket.

(J'ai vu des retards similaires TCP entre Linux et Windows auparavant dans d'autres cas également. Dans un cas, cela a été causé par des interactions entre TCP tailles Windows et PSH) (Push) drapeaux qui ont amené Windows à accuser réception tardive et/ou réessayer.)

15
eckes