url image

Внешний IP с помощью VDS путём создания SSH-туннеля

Статья давно не обновлялась, поэтому информация могла устареть.


В данной статье речь пойдёт о создании SSH-туннелей. Сначала нужно разобраться что же вообще такое SSH-туннелирование, и зачем оно нужно. А нужно оно вот зачем: a) Вам необходимо соединение между двумя машинами по защищённому каналу b) Вам необходимо использовать ресурсы машины (либо любого компьютера, который она видит) с серым (внутренним) IP извне, посредством дополнительного сервера (или VDS), у которого есть внешний (белый) статический IP-адрес. c) Другие ситуации (вообще это всё описано в man ssh).

Задача: Перенаправлять все соединения с 8181 TCP-порт машины (A), имеющую внешний ип 89.89.89.89, на 80 TCP-порт машины (B), которая находится за NAT'ом, и имеет в локальной сети IP 10.10.10.10.

Решение:

Логинимся на (B) и выполняем след команду

$ ssh -R 8181:localhost:80 [email protected]

The authenticity of host '89.89.89.89 (89.89.89.89)' can't be established. DSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '89.89.89.89' (DSA) to the list of known hosts. Password:


Система спросит, нужно ли продолжать соединение -- ответьте ей утвердительно (yes), и введите пароль пользователя root (или нужного) машины 89.89.89.89.

Всё, теперь при запросе http://89.89.89.89:8181/ будет открываться http://10.10.10.10

Собственно, вместо localhost:80 можно было указать любой из ип, которые видны машине 10.10.10.10.

P.S. Для того, чтобы SSH-соединение не рвалось при закрытии подключения с вашего ПК к машине (B), нужно поставить это соединение на screen.

$ pkg install screen $ screen Жмём Enter, после выполнения действий, описанных в статье, жмём Ctrl+A, Ctrl+D, пишем exit, и радуемся жизни.

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!