Есть хост X, к которому необходим SSH-доступ из любого места в мире.
Подключиться к нему может только хост A, не имеющий белого IP-адреса.
Есть также хост B, имеющий белый IP-адрес, но не пускаемый напрямую на X.
Задача решается написанием в консоли хоста A чего-то вроде
Код: Выделить всё
ssh -R 1111:127.0.0.1:2222 -f -N -4Cp3333 user@B
Теперь можно из Интернета ходить на B:1111, а по факту "как будто бы" попадать на A:2222, и оттуда уже коннектиться к X.
Всё замечательно до момента, пока у хоста A не "мигнёт" Интернет, после чего соединение рвётся.
Вопрос - как лучше аккуратно сделать автоматическое пересоздание такого вот проброса? Единственное, что пока приходит в голову - пинаемый кроном скрипт, который проверяет вывод ps(1). Но как-то неаккуратненько это.