ssh-туннель

Что мы получим в итоге?

Допустим, у вас или у вашего друга есть сервер, например vasya.com. Пробросив свои локальные порты через сервер, мы набирая в браузере vasya.com:5000 попадать на веб-сервер своего компьютера, не имеющий внешний IP. А подключаясь по ssh: ssh -p5001 Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. мы всегда можем попасть на свой домашний компьютер, находящийся за NAT.

Предисловие

В сети довольно много информации по ssh-туннелям, но в большинстве случаев это просто набор заклинаний без должных пояснений. Данная статья призвана раскрыть лишь один аспект использования SSH-туннелями: как сделать свой домашний компьютер доступным через внешний сервер.

Настройка SSH на сервере

Спева необходимо включить проброс портов в настройках ssh-сервера.

На сервере vasya.com редактируем файл /etc/ssh/sshd_config

И редактируем (или добавляем) там строчку:

GatewayPorts yes

Перезагружаем ssh-сервер

Открываем порты на сервере

На каждом хорошем сервере должен стаять файрвол. Он блокирует все порты кроме разрешённных.

У меня Ubuntu Server и файрвол UFW.
На сервере редактируем /etc/ufw/user.rules

И добавляем туда:

### SSH TUNNELS ###
# 5000 - home web
# 5001 - home ssh
# 5002 - dacha web
# 5003 - dacha ssh
-A ufw-user-input -p tcp --dport 5000 -j ACCEPT
-A ufw-user-input -p tcp --dport 5001 -j ACCEPT
-A ufw-user-input -p tcp --dport 5002 -j ACCEPT
-A ufw-user-input -p tcp --dport 5003 -j ACCEPT

Перезагружаем ufw-демон.

Создаём туннель

На своём домашнем компьютере набираем:

ssh -N -p22 Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. -R 5000:localhost:80

-p22 - порт сервера ssh (по умолчанию 22, но для безопасности лучше бы его заменить на какой-нибудь другой).

-N не выполнять команды в ssh-сессии

-R 5000:localhost:80 - прокидываем свой локальный порт 80 на порт vasya.com:5000

Проверяем

Набираем в браузере vasya.com:5000 и убеждаемся, что там показывается наш домашний веб-сервер.

 

 

Добавить комментарий


Поиск