В Магазете неоднократно публиковались различные способы обхода ВКФ и интернет-цензуры в Китае. Мы рассказывали про технологию TOR, программу Hotspot Shield и платные методы с VPN (например, 39VPN за 30 юаней в месяц). И наверняка у многих читателей после этого рабочий стол выглядит примерно так. Сегодня я подробно расскажу о способе, которым уже больше года пользуюсь сам и рекомендую всем друзьям — SSH-туннель.
SSH-туннель — это туннель, создаваемый посредством SSH-соединения и используемый для шифрования данных. Используется для того, чтобы обезопасить передачу данных в Интернете…
Проще говоря, SSH-туннель это дешёвый и карманный вариант VPN. Его плюсы: скорость (будете смотреть youtube и заходить в facebook без тормозов), безопасность (шифрование соединения), стабильность (я уже пользуюсь больше года без косяков), дешевизна1. Минусы: всё же придётся заплатить маленькую денежку и прочитать эту статью до конца.
Для гиков я оставил ссылки на дополнительные материалы внизу статьи, а мы перейдём сразу к делу.
Ищем shell
Первое что нам нужно сделать, это найти сервер с ssh-доступом. Попробуйте погуглить фразы “free shell” или “free ssh” для поиска бесплатного сыра. Если вы владелец сайта, то можете поинтересоваться о ssh у вашего хостера.
Если вы счастливый обладатель гонконгского хостинга ICDSoft (как я), то могу вас поздравить — у вас есть доступ к SSH! Но чтобы им пользоваться, нужно написать письмо в службу поддержки.
Обновление от 18 февраля 2012: Услуга SSH-туннеля стала слишком популярна и кто-то использовалл его для скачивания торрентов, поэтому ICDSoft приостановил его поддержку. Но вы можете попробовать найти другой хостинг с поддержкой shell.
Включаем shell на хостинге ICDSoft
Кликните “Support” в панеле управления хостингом, или перейдите прямо на сайт suresupport.com. Введите логин/пароль, если спросят.2
Затем на странице “Post a ticket”, в блоке “Ticket details” выбираем доменное имя вашего сайта, пишем тему сообщения “SSH”, содержание следующее:
Hello!
Could you please migrated my account to an SSH-enabled server? But please make sure, that that new server is not blocked in China :)
Thanks!
Где-то через минут 20 вам ответят, что ваш сайт успешно переехал. Вам также могут выдать адреса новых NS-серверов, особенно в том случае, если вы регистрировали домен не у ICDSoft. Тогда вам нужно пойти в панель управления домена (не хостинга) и там прописать новые NS-сервера.
Подключаемся к свободе
Осталось совсем чуть-чуть. Для подключения к SSH-туннелю вы можете воспользоваться любым telnet/ssh-клиентом (PuTTY для PC, Terminal для Mac), или специальными программами (гуглите: ssh tunnel). Ниже описываю способ для мака, а остальных попрошу описывать способы открытия SSH-туннеля на других ОС в комментариях.
Способ для мака
- Качаем приложение SSHTunnel, бросаем в папку Applications.
- Запускам SSHTunnel, открываем вкладку “Servers”. Нажимаем “+” в нижнем левом углу и добавляем новый сервер.
- Заполняем пустые строки. Server: (здесь адрес сервера c SSH). Port: обычно 22. User и Password — логин и пароль соответственно.3
- Переходим на закладку “Sessions”. В левой колонке выбираем “Proxies” -> “Airport proxy”. В выпадающем меню “Use this server” выбираем наш.
- Нажимаем кнопку “On/Off”. Если соединение прошло успешно, то в левой колонке лампочка должна позеленеть. (Красная лампочка — нет соединения).
Safari, Mail, iTunes и многие другие “родные” программы автоматически станут работать через туннель. Поэтому прямо сейчас в Safari попробуйте открыть Youtube или Facebook, и проверить работает ли туннель. Некоторые другие программы (например, Firefox) могут игнорировать системные настройки прокси, и эту опцию нужно включать в настройках отдельно.
Способ для Windows
Обновление 24.06.11. В комментариях Bazilxp советует использовать PuTTy и рассказывает подробности. А с помощью гугла можно найти альтернативы SSHTunnel для Windows, но порекомендовать что-нибудь конкретное я не могу.
С радостью отвечу на все вопросы в комментариях. Пожалуйста, присылайте свои способы подключения к SSH, я буду периодически добавлять их в пост.
Если пост вам показался интересным, то пожалуйста воспользуйтесь социальными кнопками внизу, чтобы поделиться ссылкой на него с друзьями.
Спасибо.
Дополнительная литература
- «SSH«, Wikipedia
- «How-To: SSH tunnels for secure network access«, Engadget
- «SSH-туннелинг, или замена VPN. Организации туннеля по SSH-протоколу«, web-hack.ru
- «Перенаправление портов в SSH«, OpenNET
- «SSH-туннели — пробрасываем порт«, Хабрахабр
- «2 способа проброса туннелей с использованием ssh«, Bappoy’s blog
- «Использование SSH туннеля для HTTP-траффика«, www.levap.ru
- теоретически может быть бесплатным, т.к. в сети множество сайтов предоставляющих бесплатный ssh-доступ (shell) [↩]
- Этот логин/пароль может отличаться от того, по которому вы заходите в панель управления. Если вы до этого ни разу не обращались в саппорт, то нужно зарегистрироваться здесь — https://www2.suresupport.com/new.php [↩]
- Пользователям ICDSoft нужно ввести адрес сервера, на который вас перенесли, а также логин и пароль от вашей панели управления хостингом. [↩]
«…в блоке “Ticket details” выбираем доменное имя ВАШЕГО САЙТА, пишем тему сообщения “SSH”…» — не совсем понял, эта фишка только для тех у кого свой сайт или для обычных пользователей, чтобы браузить ютуб и фб?
ссылка на en.wikipedia.org/wiki/Freegate — не открывается, я так понимаю фригейт без предупреждения сохраняет введенные пароли?
обратите внимание на комментарий от 18 февраля.
А может кто подскажет нормальный платный vpn? Все отзывы да статьи в сети какие-то несвежие.
Рекомендую Astrill и JimSERVER(точка)com
Обновление от 18 февраля 2012: Услуга SSH-туннеля стала слишком популярна и кто-то использовалл его для скачивания торрентов, поэтому ICDSoft приостановил его поддержку.
Все зависит опять же от провайдера:
1. В отеле неизвестный мне провайдер (а может просто стоит какой-нибудь веб-сенс), туннель не работает вообще.
2. На работе другой (China Telecom), проблем нет, все как часы.
Так что решение нормальное для серфинга, но не идеальное. Радует только нормальный доступ к Gmail, остальное не столь важно.
В настоящий момент суппорт из вышеозначенного провайдера задает нетривиальный вопрос — «а зачем вам SSH?», а через пару сообщений прямо говорит, мол не пытайтесь устроить туннель, ибо у нас за это строгача можно схватить.
По указанному варианту (для Мак) популярные сервисы не работают (ни фейс, ни 443 гмайл, ни ютуб). С Сервером соединяется (и через туннельную прогу и через терминал), но вот ничего не происходит, все как было уныло, так и осталось, даже что работало стало либо плохо работать, либо вообще перестало.
443 прописал в сервисах, но не помогло.
У меня и у моих друзей, которые пользуются этим способом всё нормально до сих пор.
Без обид, но… что за извращения?? Есть программка freegate, бесплатная, самобновляющаяся, без рекламы, от нее не падает скорость, а все что нужно — это запустить ее и все будет отрываться, все идельно работает
Во-первых, freegate только под windows. Во-вторых, скорость в десятки раз ниже, чем у SSH/VPN-способов. В-третьих, есть сообщения об опасности этой программы — http://en.wikipedia.org/wiki/Freegate
Насчет скорости не знаю, не падает она..
кирдык freegate’у, похоже.
пользовался стабильно, и вот уже пару недель вообще не подсоединяется, а даже если и подсоединяется, ничего не открывает.
пичалька.
впрочем, у меня домен на ICDSoft, наконец дошли руки попробовать способ из поста.
Спасибо за статью!
Это правда чистой воды, что туннели очень сильно привлекают внимание, как и любой шифрованный и не попадающий под шаблонное поведение траффик.
Зачастую провайдеры в Китае разу стараюстя ограничить любые Ваши возможности по созданию тоннелей или нормальной работе тора, некоторых других реализаций и протоколов.
На своей машинке под GNU/Linux использую сервис VPN от компании overplay. Стандартный networkmanager настраивается очень легко. О консольных вариантах даже упоминать не стоит. Кому надо, тот и так умеет =) Стоит 8-10 баксов в месяц, работа стабильная и очень быстрая.
Из плюсов:
— Поддержка openVPN c 128-bit CBC-Blowfish, PPTP, L2TP с MPPE и IPSec
— Наличие серверов по всему миру, то есть вы можете «перемещаться» для локальных серверов в любую точку мира. Полезно, например, для доступа к некоторым забугорным сервисам, которые принимают Вас за «своего».
Это ни в коем случае не реклама, просто сам нашел, что этот сервис правда стоит своих денег, даже если Вы не в Китае. Возможность «быть» в другом месте это того стоит. Конечно для «праведной» активности в сети. =)
Спасибо за overplay.net! Как раз искал сервис, который будет нормально работать под GNU/Linux.
Был Хороший VPN Express для iPhone,iPad работал забанили..
Периодически вносят в черный список . Internet Your Freedom Забанен.
Это вопрос времени,банят так на каком нить блоги «родные» пишут я вот перепрыгнул стенку ура товарищи. Реакция понятно предсказуемая.
Статью о вывозе миллиардов сняли или заблокировали? Не прошла проверку?
Чоэ?
сокс — унылое говно, лучше сделать туннель, единственное — нужно иметь на серверном конце tun/tap интерфейс принадлежащий вашему юзеру
Новый дизайн стильно выглядит
Поудалял оффтоп в комментариях. Обсуждение дизайна происходит тут — http://magazeta.com/insider/2011/06/18/reloaded/
Ура! Вот оно! Ну, держись блогпост!
понеслась карусель :)
+1
Основная проблема интернета, это не стенка. А Некоторые параметры соединения.
Берем час пик и среднего провайдера на xxx пользователей. В Китае да мы гарантируем к примеру доступ 3МБит . А что же происходит если мы идем в рунет. Ну первое что может слететь к примеру DNS на провайдере,dig ya.ru будет показывать айпишник с 3-4 раза. Альтернативные бесплатные ситуацию не спасают, весь трафик тут ходит через 5-6 шлюзов на всю страну. Другая проблема канал наружу он имеет параметры вроде Cкорость,Время отклика,И кол-во соедений. 256kBit к Примеру расчитано на не более 200 соединений если мы говорим о ADSL. То есть в час пик инетрнет не работает потому что нет нормальной балансировки трафика, внешний канал просто падает из за кол-ва соединений,он тип есть,но кто первый тот и успел:) Отсюда еще один ответ почему тунель якобы ускоряет работу,так как весь трафик идет физически через одно занятое соединение:) Если упала наземная маршрутизация как ни пичально, тунель не спасет…
ssh -i key.pem xxx@host -D 1080
так будет слушать SOCKS прокся работает из Mac,Unix
лучше конечно с ключом ходить
на серваке ~/.ssh/authorized_keys публичная часть
key.pem(Приватная часть у себя) :-)
man ssh-keygen добро пожаловать в мир ключей.
С Точки зрения безопасности каждый протокол имеет Finger Print, четкий отпечаток .
Скажем так некоторые «бесплатные решения» оставляют след в милю.
Протоколы вроде XL2TP нуждаются в допольнительном транспорте IPSEC,
pptp без GRE не работает(кстати забанен в китае) :)
Т.е. на стороне провайдера можно сказать однозначно какого типа трафик идет.В Случае с ssh оно хорошо если не долго, иначе по объемам и по времени просто можно сказать ага тунель и отрезать его ножницами=)
Спасибо. А для windows что-нибудь посоветуешь?
Для windows самый простой способ putty, Но там нужны костыли…
вроде так hosting +squid , а putty localhost 8080 -> squid 3128.
Главное о чем должен помнит солдат, Flash/Java имеют привычку иногда ходить мимо Proxy(прямой dns трафик), так что нужно понимать что тунель в простом варианте HTTP+SSH не может гарантировать 100% защиты.
Как я писал выше, ssh это временное решение, у меня был случай в CНГ
про кинули туннель по SSH с другом в МОСКВУ, тунель убили через 15 минут после объема более 50МБ. SSH если делает много трафика сильно привлекает внимание. Общий совет иметь Два браузера например Firefox + FoxyProxy , и Хром. Один пускать через тунель , а другим обычный интернет:)
Самый разумный вариант, например если кому нужно видео с тубика,
http://rg3.github.com/youtube-dl/ качать данным скриптом на хостинг напрямую типа ./ydl.py xxxxxx?id=yyyyyy
а дальше забирать по обычному HTTP протоколу с хостинга.
по HTTP качать файлы — привлекать меньше внимания, шаблон поведения попадает под 99% пользователей , 1% как раз тунельщики=)
Мак или Линукс лучше всего, там всё работает с коробки :)
А можно более подробно написать про «костыли» для Putty, или статейку посоветовать? Перекопал уйму материала по настройке Putty на Win 7, но решения так и не нашел. Думаю другим тоже будет полезно.
Спасибо
Скачал putty, создал туннель, но что-то фигово коннектит через браузер. форвард через порт 8080 идет, действительно. Присоединяюсь к просьбе рассказать про костыли подробнее, в нете что-то толком не найти.