Наверняка многие, кто совмещает онлайн бизнес с работой в офисе не связанной с онлайн сталкивался с проблемой, когда офисный сисадмин блокирует все порты кроме необходимых, то есть 80 для HTTP и 443 для HTTPS. И это правильно для офиса, но не подходит нам. Я один из таких страдальцев. Но работать надо и обойти такие ограничения можно. Кстати описываемый способ подойдет и тем у кого заблокированы например ICQ или специфичный софт для торговли на форекс или стоках типа Metatrader. Способ совсем не сложный, не требует админских прав на вашем компе и каких ощутимых материальных затрат.
Итак нужно:
- дешевый VDS, я использую FastVPS. Мощность впски не важна, можно взять самую простую. Вопрос только в количестве трафика.
- PUTTY – бесплатна и, если у вас зарезаны админские права на рабочем компьютере, есть portable версия не требующая установки
- для настройки FTP или SFTP нужен FTP клиент – я использую WinSCP из-за его портабельности и возможности работы как с FTP так и с SFTP
Настраиваем SSH на VPS
Если сами вы это сделать не можете, то доверьтесь техподдержке. Работы на 5 минут ровно. Задача звучит так – настроить SSH на 443 или 80 порт. Я считаю оптимальным 443 порт.
Настраиваем в PUTTY SSH туннель.
Вбиваем IP нашей вдс и порт на который настроен SSH. Придумываем название соединению и жмем сохранить.
Чтобы добраться до нашего ВДС через админские преграды вбиваем настройки офисного прокси. Если всё сделано правильно, то на этом этапе можно нажать «соединение» и PUTTY соедениться с сервером по SSH и предложит ввести логин и пароль к SSH вашего ВДС. Введите, проверьте, если всё ок, то продолжаем.
Во вкладке Соединение — SSH — Туннели собственно настраиваем туннель и пробрасываем порты. В поле «Порт отправителя» вбиваем число которое будет у нас номером локального порта. В поле назначения пишем IP того сервера до которого мы хотим добраться через туннель и через двоеточее порт на этом сервере, затем жмем добавить.
Возвращаемся на вкладку соединение и жмем сохранить. Теперь жмем соединение, вводим пароли. И переходим к настройке SFTP клиента.
Настройка WinSCP для работы через SSH туннель.
На картинке всё понятно. Хост 127.0.0.1 то есть локальная машина на которой запущен PUTTY. А порт тот, что мы указали в настройке PUTTY как локальный. В принципе всё, сохранить и залогиниться по SFTP всё будет отлично работать.
Но есть два недостатка такого SSH туннеля.
- таким образом настроенный туннель не работает для FTP соединения. WinSCP тупо зависает на «Directory listing» и отваливается по тайм-ауту.
- для каждого сервера до которого мы заходим добраться нам придется настраивать свои туннели. Можно назначать только другие порты в одном туннеле, но всё равно как то не удобно.
Но есть способ проще.
Настроим SOCKS прокси поверх SSH туннеля.
Для этого вернемся в настройку PUTTY. В настройке туннеля не будем вбивать IP конечного сервера, и отметим назначение «Динамический»:
А в WinSCP создаем соединение обычным образом. То есть хост это IP нужного сервера, порт тоже и нужный нам протокол также выбираем как обычно.
Только после идем во вкладочку «Proxy»:
Тип прокси: SOCKS4, прокси хост — локальная машина, где у нас крутится PUTTY — 127.0.0.1, а номер порта тот что мы настроили как динамический локальный в PUTTY. Всё сохраняем, логинимся и всё работает. И SFTP и FTP, если этот прокси забить в аське то и она заработает через нашу ВДС и в метатрейдере соответственно аналогично.
Не забывайте только, что админ может тупо забанить ваш ВДС по IP, поэтому не надо брать его сразу надолго. Ну и слишком валить трафик на это соединение тоже не стоит. Чтобы не палиться перед админом, да и на дешевых ВДС трафик обычно сильно ограничен.