Настройка SSH тунеля в Mac OS X — альтернатива прокси серверам
Если ваш провайдер или государство мешает вам свободно общаться в интернете и посещать какие то сайты типа livejournal и liveinternet, то всегда есть выход — вы можете использовать прокси сервера или настроить собственный SSH туннель.
Как настроить соединение с прокси сервером вы можете найти в интернете.
Мне же это вариант не понравился, так как это либо платно, либо без гарантий что ваши пароли негде не осядут, поэтому я решил настроить SSH туннель со своим хостингом.
Также использовать SSH туннель или прокси желательно при подключении к публичным точкам доступа Wi-Fi: на вокзалах и в аэропортах, в кафетериях и кинотеатрах, в гостиницах и других местах. Ведь если вы не используете защищённое соединение по протоколу HTTPS, то обычный протокол HTTP гарантировать конфиденциальность передаваемых вами данных не может.
В этом случае вам поможет организация SSH-туннеля. Всё, что вам потребуется, — SSH-доступ к какому-либо серверу и 5 минут времени.
Для начала стоит подумать о том, где взять SSH-доступ. Тут может быть несколько вариантов:
- установить собственный сервер с настроенным доступом через SSH в каком-нибудь дата-центре; (от блокировок на уровне страны не поможет)
- приобрести недорогой тарифный план на хостинге, предоставляющем доступ к серверам по протоколу SSH;
- приобрести услугу выделенного IP-адреса у своего провайдера и настроить SSH-сервер дома; (этот способ не поможет если доступ вам блокирует ваш провайдер)
- зарегистрироваться на бесплатном хостинге который поддерживает работу через SSH
Могут быть и другие варианты. Как бы там ни было, я не буду заострять внимание на способах получения доступа к какому-либо серверу по SSH, а опишу, как создать и использовать SSH-тунель, в том случае, когда у вас уже есть SSH-доступ к другому компьютеру (хостингу).
Запустите терминал и выполните в нём следующую команду:
ssh -N -D 9999 user_name@server_address
Рассмотрим подробнее, что делает эта команда:
ssh — запуск утилиты, осуществляющей работу с SSH-сервером
-N — параметр, отвечающий за то, чтобы команды не транслировались на удалённый сервер
-D 9999 — параметр, указывающий, через какой адрес/порт будет идти обмен данными
user_name — ваше имя для соединения на удалённом сервере (имя учетной записи)
server_address — собственно, адрес сервера, через который будет происходить туннелирование (имя сайта)
Например, в моём случае это будет выглядеть так:
ssh -N -D 9999 andrey@holi-day.kz
После того, как вы выполните эту команду, вас попросят ввести пароль, соответствующий указанному в соединении пользователю. Как только вы это сделаете (при условии, что введёте правильный пароль), у вас готов SSH-туннель, и теперь можно указывать системе, чтобы трафик шёл не напрямую, через Wi-Fi-соединение, или фильтр правильных сайтов установленный провайдером, а через созданное вами безопасное соединение.
*Пароль в Unix системах не отображается, после набора нажмите «Enter»
Запустите приложение «Системные настройки» и выберите в нём пункт «Сеть«:
Чтобы выключить проксирование, вернитесь к настройкам прокси и отключите пункт «SOCKS-прокси«, после чего подтвердите внесённые изменения, а в терминале с включённым туннелем нажмите комбинацию клавиш Ctrl+C, которая остановит выполнение приложения ssh.
Есть еще один более кардинальный способ решения проблемы с блокировкой сайтов на уровне страны — нужно просто уехать из этой страны, и пусть себе блокируют сами себя )