no-style

Как зайти на закрытые сайты с помощью SSH туннеля

ssh tunneling
Бывают такие ситуации, когда на работе, с помощью специального софта, закрывают доступ к некоторым ресурсам сети интернет. Например к социальным сетям и видео хостингам. С одной стороны это правильно - на работе люди должны работать, а не сидеть вконтактике, но в моем же случае - важная информация по работе была сохранена в одной из закрытых групп на вконтакте, так же многие полезные видео инструкции были в закладках на youtube, куда я доступ не имел, а как тогда быть? Сегодня я расскажу вам, как поднять SSH туннель и получить доступ к закрытым ресурсам сети.



Основные требования

Нам понадобится домашний компьютер с выделенным статическим ip адресом и операционной системой семейства Linux или Unix. Альтернативой может послужить хостинг: VPS, VDS, DS или облако

Если у вас нет хостинга. Или например вы не хотите устанавливать линукс, то можно поступить иначе. Можно скачать любой линукс дистрибутив с поддержкой режима Live CD. Далее записать этот дистр на болванку или флэшку и загрузить систему в режиме livecd, то есть без установке на жесткий диск.




Туннель Linux - Linux

Я использовал вариант с домашним компьютером, на котором был установлен Ubuntu, в состав которого уже входит SSH сервер.

На работе я тоже использую операционную систему семейства линукс, поэтому подключится к своему компьютеру мне не составило труда. Всё сводится к одной команде в терминале:

ssh -D localhost:12345 username@xx.xx.xx.xx

Где username - ваша учетная запись в Linux, а xx.xx.xx.xx - IP адрес вашего компьютера или хостинга.


ssh тунель





Туннель Windows - Linux

Если наша задача подключиться к туннелю из под винды используем такое решение. Скачиваем putty, отсюда. Открываем её и видим панель в которую вписываем:

IP адрес компьютера с Linux в поле Host Name (or IP address).

Далее переключаемся на вкладку SSH > Tunnels

В Source port пишем 12345 чуть ниже выбираем Dynamic, теперь добавляем с помощью кнопки Add, вы увидите что то наподобие D12345. Пробуем подключиться с помощью кнопки Open


Putty ssh тунель


Если вы всё сделали правильно вас попросят подтвердить rsa-ключи. Отвечаем Yes и вводим пароль от пользователя Linux.







Используем туннель в браузере

Окончательным шагом будет настройка браузера на использование SSH туннеля в качестве Socks5 Proxy. Я буду показывать на примере браузера Firefox.

Идем в настройки браузера. Нас интересует пункт: Параметры Сети обычно он располагается в самом низу раздела настроек.


Firefox параметры сети


Выбираем Ручная настройка сервиса прокси

В поле адрес указываем localhost:12345 или 127.0.0.1:12345 кому как больше нравится. Либо можно вписать тоже самое в поле HTTP прокси и отметить чекбокс: Использовать этот прокси сервер для всех протоколов


firefox ssh tunnel

Поздравляю, теперь вы можете использовать свой домашний компьютер или хостинг в качестве прокси сервера, который позволит вам посещать все закрытые/нужные сайты.







Дополнения

Если интернет к вам приходит через роутер, не забудьте пробросить порты, иначе вы будите пытается подключиться непосредственно к самому роутеру, а не компьютеру с линуксом.

Пробрасываются порты очень легко, но на каждом роутере свой софт/прошивка/интерфейс и т.д. Поэтому варианта, который бы помог сразу всем - нет. Ищите как это делается на конкретно вашем роутере. С большой долей вероятности это будет сделано в два клика мыши.

На всякий случай напишу что именно надо пробросить и как. Для начала на компьютере с линуксом открываем терминал, пишем там ifconfig далее смотрим ip адрес проводного интерфейса. Обычно это eth0 с адресом наподобие 192.168.0.100(но может быть и другой).

Теперь нужно в роутере найти меню проброса портов(нечто вроде Port Forwarding) и вписать туда этот IP, а порт вписать 22 то есть SSH.


SSH соединение шифруется что даже в случае MITM атаки превращает перехватываемый траффик в груду непонятных символов. Другими словами это безопасно. К тому же вы будете иметь IP адрес своего компьютера или хостинга, как будто вы сидите с него.


Комментарии