Как поддерживать соединения SSH в Linux

ssh-alive-features

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

Войдите в свою удаленную систему или откройте терминал на своем компьютере.

Откройте файл / etc / ssh / ssh_config.

и добавьте в конец файла следующую строку:

Эта опция отправляет на сервер нулевой пакет каждые 60 секунд (бездействия), чтобы поддерживать соединение SSH. Вы можете поэкспериментировать со значением, установив его либо выше, либо ниже, в зависимости от конфигурации вашей системы. Значение 60 - хорошая отправная точка для начала экспериментов.

Конфигурация для каждого пользователя

Если у вас нет root-доступа к системе или вы просто хотите настроить его для своей личной учетной записи, вы можете вместо этого отредактировать файл ~ / .ssh / config.

Если файл не существует, будет создан новый файл.

Добавьте следующую строку:

Нажмите "Ctrl + o" для сохранения и "Ctrl + x" для выхода.

Наконец, перезапустите SSH-сервер.

Это оно.

12 комментариев

  1. Это интересно, хотя обычно я просто "… -t htop", пока запущен htop, ssh остается открытым…


    Это тоже сработает. Пока вы оставляете приложение запущенным, ваше SSH-соединение всегда будет активным.

  2. Хороший совет, но как я могу перезапустить службу SSH, если у меня ограниченная учетная запись? анализируется ли размещение директивы в .ssh / config на лету?
    спасибо

  3. но теперь, если сетевое соединение между вами и сервером на какое-то время зависнет, вы "увидите" разорванное соединение (неудачная отправка) и разорвете соединение. здесь придется пойти на компромисс.

  4. Я использую Rogers (ужасный канадский интернет-провайдер), они дросселируют SSH, и это не работает. :( Я все еще ищу способ…

  5. http://mosh.mit.edu/ Приложение удаленного терминала, которое позволяет осуществлять роуминг, поддерживает прерывистое соединение и обеспечивает интеллектуальное локальное эхо и линейное редактирование нажатий клавиш пользователем. НО требует установки сервера.

  6. Keep Alive - это действительно неправильное название .. Это действительно "Check Dead". Установив его на 60 секунд, он проверит, действительно ли соединение по-прежнему или нет маршрута к хосту.

    Поэтому, если у вас нестабильное сетевое соединение, это выбьет вас из строя гораздо больше, чем если бы вы его не установили.

    Это подробно обсуждалось в нескольких списках рассылки ssh.=)

  7. Я использую пакеты поддержки активности, как уже упоминалось, но полностью согласен, что это больше похоже на "Check Dead".

    Используйте его вместе с autossh (я предпочитаю версию "C", усиленную с motd.ca) и аутентификацией сертификата, чтобы действительно поддерживать ваш сеанс ssh. Очень удобно для переадресации портов.

  8. GateOne от LiftoffSoftware предоставляет автоматические средства для повторного подключения к предыдущему сеансу SSH, чтобы вы могли закрыть свой веб-браузер или вкладку, когда выходите из дома, и повторно подключиться к тому же сеансу из офиса. GateOne - это сервер, который предоставляет клиент HTML5 в вашем веб-браузере.

  9. Извините за этот комментарий не по теме, но я предполагаю, что вам не нужно sudo при создании / изменении конфигурации для каждого пользователя.

  10. Почему вы пытаетесь перезапустить ssh? ssh_config применяется к ssh-клиенту, а не к sshd-серверу. ServerAliveInterval сообщает клиенту, что он должен регулярно проверять работоспособность сервера.

    # chkconfig –list | grep ssh
    sshd 0: выключено 1: выключено 2: включено 3: включено 4: включено 5: включено 6: выключено

    # статус службы ssh
    ssh: нераспознанная служба

  11. Как говорит Пол, нет необходимости перезапускать сервер (ни ваш сервер, ни тот, который находится на удаленном конце). Конфигурация предназначена исключительно для клиента и будет выполняться автоматически в следующий раз, когда вы будете использовать команду 'ssh' для подключения к чему-либо.
    Для меня это полезно как способ поддерживать соединение (в частности) в настройках NAT, где брандмауэры имеют тенденцию разрывать неактивные соединения через десять минут (чаще) через полчаса или более (сеанс перестает отвечать на запросы). Поэтому я использую 600 секунд (10 минут). Ему просто нужно время от времени видеть, как данные проходят через соединение, и этого достаточно. IMAP IDLE часто использует 24 минуты, и, похоже, это сходит с рук. В общем, кофе-брейк мы идем ..

Комментарии закрыты.