Обратный туннель применяется в том случае, когда нужно попасть на машину, защищенную межсетевым экраном или находящуюся за NAT.
Принцип действия заключается в том, что соединение инициирует удаленная машина, а мы попадаем туда по уже готовому соединению.
В такой туннель можно отправить любой трафик, не только ssh.
Итак, со стороны компьютера за NAT используется команда:
ssh user@server -R 5544:localhost:22 -N
На человеческом языке это звучит как:
«подключись на server под именем user таким образом, чтобы удаленный порт 5544 соединился с локальным 22 и не запускай интерактивную оболочку».
Если мы хотим, чтобы пользователи с server могли попасть на эту машину, на ней должен быть запущен sshd.
Если же мы пробрасываем порт для другой службы, то, естественно, это требование не обязательное.
На машине server (которая не за NAT) достаточно выполнить команду
ssh remotecompuser@localhost -p 5544
Что бы туннель был постоянно активен, желательно использовать autossh.
sudo apt-get install autossh
autossh -p222 -nNTR 2223:localhost:22 username@90.123.23.11
Для добавления в автозагрузку можно отредактировать
sudo nano /etc/rc.local
Добавить
autossh -p222 -nNTR 2223:localhost:22 username@90.123.23.11
или вынести в отдельный скрипт и запускать его при необходимости.
|