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