Що може спричинити повільний ssh ​​сеанс? [зачинено]


46

Я ssh на віддаленому хості, але продуктивність терміналу погана. Символи, які я набираю, не відображаються відразу, але з деякою затримкою. Іноді два символи відображаються одночасно після затримки.


Mosh є гарною заміною ssh для запобігання цього питання: mosh.mit.edu
Стівен К. Хоуелл

6
ssh-сервер ... чому це закрили? це явно серверне питання. Звичайно, деякі відповіді тут базуються на думці, але питання має бути добре.
j0h

5
Чому це питання закрите? У моєму випадку це було налаштовано на сервері def - закритий порт 67/68 UDP. На загальному зображенні Vultr був включений DHCP, він намагався постійно поновлювати IP-адресу пабу, але його блокував CSF. Дозвіл цих портів, здавалося, вирішив це, швидкий SSH (та інші мережеві послуги) ще раз. Слідкуйте за цим, якщо ви використовуєте ті чи інші зображення за замовчуванням / подібні VPS-зображення.
dhaupin

5
Це, очевидно, (загальна) проблема мереж. Я вважаю, що немає підстав для його закриття, і це, безумовно, не поза темою. Навіть (особливо), коли проблема може мати декілька причин, які важко визначити.
mivk

Відповіді:


17

Висока затримка - ще одна причина низької продуктивності ssh. Я настійно рекомендую використовувати mtr як кращу заміну для traceroute. Він повинен бути в змозі дати вам деяке уявлення про те, де можуть виникнути ваші мережеві проблеми.


13

Вимкнення переадресації X11, якщо він вам не потрібен (ssh -x), і включення стиснення (ssh -C) також може пришвидшити ваш сеанс.


9

Я можу придумати дві можливі причини:

  1. Втрата пакету підключення
  2. Високе навантаження на сервер.

3

Я спробував оцінити продуктивність мережі, невдовзі виявивши, що термінал добре. Що відбулося?

У нас балансування навантаження між двома маршрутизаторами Інтернет-каналів. Іноді він спрямовує мій ssh ​​трафік через wan1, а іноді через wan2. Я припустив, що з одним каналом щось не так. Тому я виміряв продуктивність мережі mtr (чудовий інструмент!) Для двох каналів окремо.

так! wan2 має 21 стрибок зі 110 мс, а у wan1 15 лише 21 мс! wan2 затримка - це проблема.


3

Використовуйте Compression and CompressionLevel з 9. Це мало би допомогти. Ви можете налаштувати ці параметри в / etc / ssh / ssh_config. Але якщо фактична мережа дуже погана, то ці трюки не принесуть нічого хорошого.


2

Найбільш очевидною причиною такої поведінки є посилання, що є або насиченими, або кидаючими пакетами. Скільки у вас хмелю від вашої робочої станції до машини, в яку ви перебираєтесь? Чи проаналізували ви сліду, якщо вона застосовується?


2

Якщо ви використовуєте OpenSSH для довгожирової труби (висока пропускна здатність + висока затримка), переконайтеся, що ви використовуєте принаймні версію 4.7 з обох сторін, оскільки вона містить виправлення, щоб OpenSSH використовував більший розмір вікна tcp.

 * The SSH channel window size has been increased, and both ssh(1)
   sshd(8) now send window updates more aggressively. These improves
   performance on high-BDP (Bandwidth Delay Product) networks.

Це може бути важливо, якщо ви хочете використати з'єднання з його повним потенціалом, оскільки в іншому випадку відправника, можливо, доведеться чекати аків, перш ніж він може продовжити надсилання.


1

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


1
Алгоритм Nagle завжди відключений у таких інтерактивних додатках, як telnet & SSH
LapTop006

1
У вас недостатньо інформації, щоб сказати "завжди". Ми не знаємо, який клієнт / сервер ssh він використовує. Ми не знаємо ОС, яку він працює. І т.д. В деяких ОС налаштування рівня ядра може впливати на TCP_NODELAY, встановлений на рівні програми.
радіус

1

Це також може бути спроба SSH Brute Force, яка пригнічує ваше з'єднання. Кожен раз, коли мій сеанс працює повільно, я перевіряю журнали, і в цілому ряді випадків хтось пробує паролі, як божевільні.


1

Неправильно налаштований DNS може спричинити це. Після входу в систему сервер відгукнеться чудово, а файли завантажуватимуться та завантажуватись досить швидко, але SSH вхід буде повільним.


1
Я виявив, що я можу занести IP-запис у / etc / hosts для сервера, який має повільний SSH логін і, як правило, прискорює початкове з'єднання. Але справжнє виправлення полягає в тому, щоб DNS працював належним чином.
ServerChecker

1

Одне на що слід звернути увагу - це просто пам'ять сервера. Я працював на Ubuntu VM з 256 Мб пам'яті, і SSH був дуже млявим. Подвоєння цього до 512Mb вирішило проблему.

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