Как мне разрешить ssh-соединение, закрытое удаленным хостом из-за неактивности?


14

В настоящее время я пытаюсь ssh к colo, после 1-2 минут бездействия я получаю:

superuser@thecolo:~$ Connection to 10.123.45.67 closed by remote host.
Connection to 10.123.45.67 closed.
mylocalmac:~ superuser$

Пока я что-то печатаю в терминале ssh, соединение сохраняется. Как только наступит 1-2 минуты бездействия, я получу вышеуказанное сообщение. Компьютер, к которому я пытаюсь подключиться, является 64-битной серверной версией Ubuntu 12.04.1 LTS. Это не физический сервер, а гостевой VMware. Я использую терминал Mac.

Пожалуйста, не путайте этот вопрос с аналогичными на этом сайте с ключевым словом ssh_exchange_identification, это не имеет отношения.

Ответы:


17

Добавьте следующее в ваш $ HOME / .ssh / config и все ваши ssh-соединения будут отправлять TCPKeepAlive каждые 30 секунд:

TCPKeepAlive yes
ServerAliveInterval 30

невозможно найти конфигурационный файл на сервере
insoftservice

Вы можете создать файл в своем домашнем каталоге, если он не существует
Balkian

9

Если вы подключаетесь с компьютера Linux, вы можете использовать некоторые параметры прямо из командной строки

TCPKeepAlive: при этом используется опция KEEPALIVE протокола TCP / IP, чтобы поддерживать соединение активным после указанного интервала бездействия. На большинстве систем это означает 2 часа. Таким образом, с опцией TCPKeepAlive, переданной в SSH, клиент SSH отправит зашифрованный пакет на сервер SSH, поддерживая ваше соединение TCP в рабочем состоянии.

ssh -o TCPKeepAlive=yes user@some.host.com

ServerAliveInterval: задает указанный вами интервал времени в секундах, после которого, если никакие пакеты не отправляются с SSH-клиента на SSH-сервер, SSH отправляет зашифрованный запрос на сервер для ответа TCP. Чтобы сделать этот запрос каждые 30 секунд:

ssh -o ServerAliveInterval=30 user@some.host.com

Источник


0

Вам нужно "keepalive"

В зависимости от вашего клиента, это может быть тривиально или просто - это не должно быть сложнее!

Например, в putty это опция соединения (установите для keepalive ненулевое значение)


Где я могу установить keepalive? На сервере или с моего mac? Где я должен установить это значение и какое рекомендуемое значение?
Тьерри Лам

Keepalive будет на клиенте ... в вашем случае, на вашем Mac. Там будет вариант где-то!
Андрей
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.