AutoSSH для устойчивого туннеля

Я пытаюсь запустить туннель ssh от до B и иметь выполненный несмотря на вещи как: сеть/Wi-Fi периода отбрасывает на A и перезагрузке удаленного сервера на B. Мой туннель ssh начинает использовать новомодный сценарий на с событием, запускаются на (сетевое устройство IFACE=eth0)

Я нашел autossh, который, как предполагается, обрабатывает эти виды вещей, но испытал некоторые затруднения, заставив их работать. Выскочка выполняется:

autossh -M 0 -2qTN -o "ServerAliveInterval 30" -o "ServerAliveCountMax 2" -L 5678:somehost:5678 user@B

Однако, когда я вхожу в B и уничтожаю-9, что туннельная сессия, autossh просто выходит с "Соединением с B, закрытым удаленным хостом". Это не то, что я ожидал, что autossh сделает.

Совет относительно того, как настроить это? Какие-либо сервисные контрольные утилиты GUI там, которые по существу отображают зеленый свет, если сервис закончился?

Спасибо.

0
задан 15 November 2012 в 13:36

1 ответ

Может быть, поможет комбинация с экраном. Для автоматического переподключения вам также понадобится ключ аутентификации.

Я создал псевдоним: псевдоним sshtunnel = 'TERM = xterm ssh имя_сервера -a -x -t / opt / local / bin / screen -xRR -A -e ^ Zz -U -O -S tunnelToServer' Экран гарантирует, что ваша терминальная сессия жива.

Последний шаг - создание скрипта, который проверяет хост и снова запускает псевдоним: $ while:; делать пока ! ping -c1 -t1 сервер> / dev / null; спать 10; сделанный; sshtunnel; echo Соединение с сервером прервано на $ (дата); спать 10; done

Это должно пережить все падения сети. Вы также можете поиграть со временем сна.

Если вы вызовете screen -ls, вы найдете сеанс экрана с именем tunnelToServer.

0
ответ дан 15 November 2012 в 13:36

Другие вопросы по тегам:

Похожие вопросы: