Страница 1 из 1

Как корректно реализовать reconnect для SSH ports forwarding

Добавлено: 2013-03-01 16:11:54
AntonioK
Добрый день!

Есть хост X, к которому необходим SSH-доступ из любого места в мире.

Подключиться к нему может только хост A, не имеющий белого IP-адреса.

Есть также хост B, имеющий белый IP-адрес, но не пускаемый напрямую на X.

Задача решается написанием в консоли хоста A чего-то вроде

Код: Выделить всё

ssh -R 1111:127.0.0.1:2222 -f -N -4Cp3333 user@B
(где 2222 - SSH порт на хосте A, 3333 - на сервере B соответственно.)

Теперь можно из Интернета ходить на B:1111, а по факту "как будто бы" попадать на A:2222, и оттуда уже коннектиться к X.

Всё замечательно до момента, пока у хоста A не "мигнёт" Интернет, после чего соединение рвётся.

Вопрос - как лучше аккуратно сделать автоматическое пересоздание такого вот проброса? Единственное, что пока приходит в голову - пинаемый кроном скрипт, который проверяет вывод ps(1). Но как-то неаккуратненько это.

Re: Как корректно реализовать reconnect для SSH ports forwar

Добавлено: 2013-03-06 12:31:04
AntonioK
Решил задачу с помощью порта security/autossh