Я не уверен, были ли у кого-либо еще проблемы с тайм-аутом SSH
Я устанавливаю НОВУЮ установку CentOS 6.5, минимального, не касаясь SSH congfig вообще и когда я вхожу в него через SSH, использующий шпаклевку.. это НИКОГДА не испытывает таймаут. У меня может быть он на в течение многих недель, и это не будет тайм-аут, даже когда неактивный
Я устанавливаю другую новую установку и не касаясь конфигурации ssh, она приводит к таймауту каждого как приблизительно 2 минуты
Я имею в виду, почему это так? Тайм-аут SSH как бросок монеты, это, может тайм-аут чаще для некоторых серверов, чем другие даже с той же точной конфигурацией? Кто-либо еще испытал это?
Так или иначе я шел вперед, и добавить
ClientAliveInterval 60
на сервере и все еще получают проблемы тайм-аута
Может кто-то говорить мне, как иметь ПОСЛЕДОВАТЕЛЬНУЮ конфигурацию ssh, которая отключит тайм-аут полностью.. это будет работать, 100% времени как он, как ожидают, будут?
Спасибо
Тайм-ауты подключения чаще всего вызваны фильтром пакетов или устройством NAT, которое отключило ваше TCP-соединение из-за бездействия. Не существует единого золотого правила относительно настроек ssh. Многое зависит от ваших систем и подключений. Как правило, вы должны установить значение интервала сохранения активности меньше, чем обычно требуется для тайм-аута вашего соединения (запускается из таблицы соединений в вашей системе).
Вы можете установить его на сервере как ClientAliveInterval
или на клиенте как ServerAliveInterval
. Значение - количество секунд. Если вы установите слишком высокое значение, возможно, ssh не сможет отправить сообщение до того, как соединение будет разорвано.
Вам также следует увеличить максимальное количество повторных попыток поддержания активности на сервере ( ClientAliveCountMax
) или клиенте. ( ServerAliveCountMax
). Значение по умолчанию - 3.
Этот счетчик означает, сколько раз сервер / клиент будет пытаться получить подтверждение активности с другой стороны перед отключением. Допустим, вы установили ClientAliveInterval
на 60 секунд и ClientAliveCountMax
на 10. Соединение будет разорвано после 10 попыток * 60 секунд, если одна из сторон не ответит на 10 последовательных запросов keep-alive запросы. Вы можете попытаться увеличить этот параметр до более высокого уровня, например 100 или даже 9999 (?).
Вы также можете рассмотреть возможность отключения пакетов TCP keep-alive как на клиенте, так и на сервере.
TCPKeepAlive no
Это означает, что соединения не будут умереть, если маршрут временно отключится. Но, с другой стороны, соединения могут иногда зависать (особенно если вы устанавливаете AliveCountMax
на высокое значение), если есть проблемы со связью, потому что проблема не будет обнаружена ssh на уровне TCP.
См. Также :