Стабильное обратное перенаправление портов в SSH и устаревших сессиях

Используя VPS к портам передачи позади NAT:

for((;;)) { ssh -R 2222:127.0.0.1:22 vi@vi-server.org; sleep 10; }

Когда соединение повреждается так или иначе, и оно снова соединяется.

Warning: remote port forwarding failed for listen port 2222
Linux vi-server.no-ip.org 2.6.18-92.1.13.el5.028stab059.3 #1 SMP Wed Oct 15 13:33:44 MSD 2008 i686

Я ввожу:

vi@vi-server:~$ killall sshd
Connection to vi-server.org closed by remote host.
Connection to vi-server.org closed.
Linux vi-server.no-ip.org 2.6.18-92.1.13.el5.028stab059.3 #1 SMP Wed Oct 15 13:33:44 MSD 2008 i686
vi@vi-server:~$ 

Теперь это в порядке.

Как более просто сделать это автоматическим?

6
задан 15.03.2010, 10:48

1 ответ

Похож на AutoSSH, правильная вещь для этого.

Autossh является программой для запуска копии SSH, и контролировать он, перезапуская его по мере необходимости должен он умирать или останавливать проходящее движение. Исходная идея и механизм были вдохновлены RSTunnel (Надежный Туннель SSH).

С версией 1.2 измененный метод: autossh начал использовать SSH, чтобы создать цикл из передач SSH (один от локальной машины до удаленного, и один от удаленного до локального) и затем отправить данные тестирования, которые это ожидает возвращать. (Идея была благодаря Terrence Martin.)

С версией 1.3 новый метод был добавлен (благодаря Ron Yorston): порт может быть указан для удаленного сервиса эха, который отреагирует на данные тестирования. Это избегает перегрузки и ухудшения удостовериться, что все номера портов на удаленной машине не сталкиваются. Метод цикла передач остается доступным для ситуаций, где использование сервиса эха не может быть возможным.

Функции

  • autossh является программой для запуска копии ssh, и контролировать это, перезапуская его по мере необходимости должно он умирать или останавливать проходящее движение. Идея от rstunnel (Надежный Туннель SSH), но реализованный в C.
  • Представление автора состоит в том, что это не столь трудно как rstunnel для взятий за работу.
  • Контроль соединения с помощью цикла перенаправления портов или удаленного обслуживания эха.
  • Отступает на уровне попыток подключения при испытании быстрых отказов, таких как соединение, которому отказывают.
  • Скомпилированный и протестированный на OpenBSD, Linux, Солярисе, Mac OS X, Cygwin и AIX; должен работать над другим BSDs.
  • Бесплатное программное обеспечение.
1
ответ дан 07.12.2019, 15:44

Теги

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