SSH “відстає” в локальній мережі на деяких машинах, змішаних дистрибутивах


9

У мене протягом декількох місяців виникала дивна проблема із SSH-з'єднаннями всередині моєї локальної мережі. Це трапляється лише тоді, коли я використовую свій пристрій Windows 10 для підключення до (barebone) машини Linux.

Коли я підключаюсь до SSH-сервера, моє введення надсилається лише раз на секунду. Якщо я тримаю ключ, він нічого не друкує ні секунди, і після цієї секунди я бачу кожен натискання клавіші, який я робив за цей час.

Ось як це виглядає на працюючих серверах:

Ось як це виглядає на тих, хто має питання:

Те, що я перевірив / з’ясував

  • Зміна налаштування "UseDNS" в / etc / sshd не виправить це
  • Це відбувається з bash (і zsh) на Debian (OpenSSH_7.4p1 Debian-10 + deb9u6, OpenSSL 1.0.2r 26 лютого 2019) та Ash на Alpine Linux (OpenSSH_7.9p1, OpenSSL 1.1.1b 26 лютого 2019)
  • Це не відбувається на Alpine Linux OpenSSH_7.7p1, LibreSSL 2.7.4
  • Це не відбувається з кожною машиною, лише з деякою (не залежно від дистрибутива)
  • resolutionv.conf правильний
  • Помилка відбувається з і без ClientAliveInterval (тестується на клієнті та сервері)
  • Пінг на пристрої завжди швидкий (менше 1 мс), тому це лише SSH
  • Він також відстає, коли я сшу від підсистеми linux в Windows 10, Putty та MobaXterm
  • Немає проблем, коли я підключаюся з Linux замість Windows

У когось є підказки чи речі, які я міг би спробувати? Дякую

Відповіді:


15

Зазвичай це ознака алгоритму Nagle , ви можете вимкнути цю опцію сокета.

(Я вже бачив подібні затримки TCP між Linux та Windows і раніше, і в інших випадках. В одному випадку це було викликано взаємодією між розмірами Windows TCP та прапорами PSH (Push), завдяки чому Windows визнала пізніми та / або повторними спробами.)


Дивовижний, дякую за це швидке виправлення! У налаштуваннях Putty я зняв прапорець "Вимкнути алгоритм Nagle" (який, здається, поставлений за замовчуванням), і тепер він працює!
Крістіан

@Christian дякую за підтвердження, я трохи спростив свою відповідь
eckes

@ Християн, я розгублений. Ви включили алгоритм Nagle, і тепер символи не надходять у більші пакети? Це здається мені неправильним шляхом, тому, можливо, відповідь перед редагуванням насправді була кращою.
Carsten S

@CarstenS так, я все, що я зробив, зняв прапорець "відключити алгоритм Nagle" у Putty, тобто я ввімкнув це . Але я думаю, що це старіша версія Putty, тому, можливо, етикетка у прапорці неправильна
Крістіан

Гм, справді дивно.
eckes
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.