Что может вызвать медленную сессию SSH? [закрыто]

46

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

lexsys
источник
Mosh - хорошая замена ssh для предотвращения этой проблемы: mosh.mit.edu
Steven C. Howell,
6
SSH-сервер ... почему это было закрыто? это явно проблема с сервером. Конечно, некоторые ответы здесь основаны на мнении, но вопрос должен быть в порядке.
j0h
5
Почему этот вопрос закрыт? В моем случае это была определенная сторона сервера - закрытый порт UDP 67/68. В общем образе Vultr был включен DHCP, он пытался постоянно обновлять IP-адрес паба, но был заблокирован CSF. Разрешение этих портов, казалось, решило проблему, еще раз быстрый SSH (и другие сетевые сервисы). Следите за этим, если вы используете те или иные / похожие изображения VPS по умолчанию.
Дхаупин
5
Это явно (распространенная) проблема с сетью. Я считаю, что нет причин закрывать его, и это определенно не по теме. Даже (в частности), когда проблема может иметь несколько причин, которые трудно идентифицировать.
Mivk

Ответы:

17

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

Дэвид Пашли
источник
13

Отключение пересылки X11, если она вам не нужна (ssh -x) и включение сжатия (ssh -C) также может ускорить ваш сеанс.

лесистый
источник
9

Я могу думать о двух возможных причинах:

  1. Потеря пакета при соединении
  2. Высокая нагрузка на сервер.
Shoan
источник
3

Я попытался измерить производительность сети, вскоре обнаружив, что с терминалом все в порядке. Что произошло?

У нас есть балансировка нагрузки между двумя интернет-каналами роутера. Иногда он маршрутизирует мой ssh-трафик через wan1, а иногда через wan2. Я предположил, что с одним каналом что-то не так. Поэтому я измерил производительность сети с помощью mtr (отличный инструмент!) Для двух каналов отдельно.

да уж! У wan2 21 прыжок за 110 мс, а у wan1 - 15 с 21 мс! Проблема задержки в wan2.

lexsys
источник
3

Используйте Compression и CompressionLevel of 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.

Это может быть важно, если вы хотите использовать соединение с его полным потенциалом, потому что в противном случае отправителю, возможно, придется ждать подтверждения, прежде чем он сможет продолжить отправку.

knweiss
источник
1

Как уже говорили другие, это может произойти из-за задержки, потери в вашей сети, медленной работы сервера.
Иногда вы видите 2 символа в одном типе, потому что современный стек TCP использует алгоритм под названием Naggle .

радиус
источник
1
Алгоритм Nagle всегда отключен в интерактивных приложениях, таких как telnet и SSH
LapTop006
1
У вас недостаточно информации, чтобы сказать «всегда». Мы не знаем, какой ssh ​​клиент / сервер он использует. Мы не знаем ОС, на которой он работает. и т. д. В некоторых ОС настройка уровня ядра может влиять на TCP_NODELAY, установленный на уровне приложения.
радиус
1

Это также может быть попытка грубой силы SSH, которая душит ваше соединение. Каждый раз, когда моя сессия проходит медленно, я проверяю логи, и в большинстве случаев кто-то пытается сумасшедшим использовать пароли.

Raupach
источник
1

Это может привести к неправильной настройке DNS. После входа в систему сервер будет нормально реагировать и загружать и скачивать файлы довольно быстро, но SSH-вход будет медленным.

ServerChecker
источник
1
Я обнаружил, что могу удалить IP-запись в / etc / hosts для сервера, который имеет медленный SSH-вход и обычно ускоряет начальное соединение. Но реальное исправление состоит в том, чтобы заставить DNS работать правильно.
ServerChecker
1

Одна вещь, чтобы смотреть на это просто память сервера. Я работал под управлением Ubuntu VM с 256 МБ памяти, а SSH был действительно вялым. Удвоение этого до 512Mb решило проблему.

GateKiller
источник