Когда я ssh'ed на один из наших офисных серверов (которые запускают Fedora 10) из дома, мой сеанс истекает после довольно короткого периода активности (5 минут или около того). Я пытался использовать TcpKeepAlive
на стороне клиента, безрезультатно.
Чего я не понимаю, так это того, что если я нахожусь в офисе в локальной сети компании, я могу оставить сеанс неактивным весь день без истечения времени ожидания, поэтому поведение, похоже, зависит от моего местоположения.
Есть идеи, почему это происходит и как предотвратить тайм-ауты, когда я не нахожусь в локальной сети? Я использую Терминальный клиент на Mac OSX, если это поможет.
ОБНОВЛЕНИЕ - предложение Дейва Драгера об использовании ServerAliveInterval
набора с ненулевым значением TcpKeepAlive=no
сработало для меня. Что касается некоторых других ответов, ClientAlive
настройки ... не принимаются SSH-клиентом Mac OSX.
Вероятно, это связано с тем, что при подключении из дома вы проходите через брандмауэр, который через некоторое время закрывает сеанс TCP. Но TcpKeepAlive должен избегать этого. Вы включили TcpKeepAlive на стороне клиента или на стороне сервера?
источник
Я получаю это все время на моем соединении Comcast. Проблема в том, что интервал поддержания активности вашего SSH-клиента слишком велик для времени ожидания, настроенного в вашем сетевом пути. Если вы на Linux, вы можете изменить
ServerAliveInterval
иServerAliveCounter
значение ниже , чем по умолчанию. Это значение устанавливается в секундах. Общесистемный файл конфигурации находится (обычно) в/etc/ssh/ssh_config
. Установка этих двух ANDTcpKeepAlive
должна помочь поддерживать соединение.источник
Как говорит радиус, некоторые межсетевые экраны с полным состоянием «забывают» соединение через определенное (обычно настраиваемое) время и не разрешают дальнейшую связь для соединения; они ожидают, что соединение начнется с TCP SYN (я обращаюсь к вашей связи SSH здесь).
Есть еще одна возможность. Сетевой путь между вашим домом и офисом может иметь потери (типа пакета). Когда вы пытаетесь набрать на клиенте SSH, если ваша ссылка на некоторое время остановилась, клиент может сдаться и потерпеть неудачу.
Конфигурация Keepalive на клиенте будет обрабатывать первый случай здесь, но не может помочь во втором случае. Брандмауэр обычно находится по периметру вашего офиса и поэтому может быть настраиваемым. Это также поможет в первом пункте.
Чтобы проверить, есть ли у вас периодические потери ссылок, вы можете поддерживать «пинг» в фоновом режиме со своего клиентского компьютера.
источник
Вы также можете добавить параметры, предложенные другими, в качестве значений по умолчанию в вашем
~/.ssh/config
файле, чтобы вам не приходилось передавать ихssh
каждый раз, когда вы устанавливаете соединение:nano ~/.ssh/config
и добавить:источник