Наверняка многие, кто совмещает онлайн бизнес с работой в офисе не связанной с онлайн сталкивался с проблемой, когда офисный сисадмин блокирует все порты кроме необходимых, то есть 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. Придумываем название соединению и жмем сохранить.

Настройка SSH туннеля в Putty

Чтобы добраться до нашего ВДС через админские преграды вбиваем настройки офисного прокси. Если всё сделано правильно, то на этом этапе можно нажать «соединение» и PUTTY соедениться с сервером по SSH и предложит ввести логин и пароль к SSH вашего ВДС. Введите, проверьте, если всё ок, то продолжаем.

 

Настройка SOCKS прокси в SSH туннеле

Во вкладке Соединение — SSH — Туннели собственно настраиваем туннель и пробрасываем порты. В поле «Порт отправителя» вбиваем число которое будет у нас номером локального порта. В поле назначения пишем IP того сервера до которого мы хотим добраться через туннель и через двоеточее порт на этом сервере, затем жмем добавить.

Настройка SSH туннеля в Putty

Возвращаемся на вкладку соединение и жмем сохранить. Теперь жмем соединение, вводим пароли. И переходим к настройке SFTP клиента.

Настройка WinSCP для работы через SSH туннель.

Настройка WinSCP для работы с SSH туннелем

На картинке всё понятно. Хост 127.0.0.1 то есть локальная машина на которой запущен PUTTY. А порт тот, что мы указали в настройке PUTTY как локальный. В принципе всё, сохранить и залогиниться по SFTP всё будет отлично работать.

Но есть два недостатка такого SSH туннеля.

  1. таким образом настроенный туннель не работает для FTP соединения. WinSCP тупо зависает на «Directory listing» и отваливается по тайм-ауту.
  2. для каждого сервера до которого мы заходим добраться нам придется настраивать свои туннели. Можно назначать только другие порты в одном туннеле, но всё равно как то не удобно.

Но есть способ проще.

Настроим SOCKS прокси поверх SSH туннеля.

Для этого вернемся в настройку PUTTY. В настройке туннеля не будем вбивать IP конечного сервера, и отметим назначение «Динамический»:

Настройка SOCKS прокси в SSH туннеле

А в WinSCP создаем соединение обычным образом. То есть хост это IP нужного сервера, порт тоже и нужный нам протокол также выбираем как обычно.

Настройка WinSCP для работы с SSH туннелем

Только после идем во вкладочку «Proxy»:

Настройка WinSCP для работы с SSH туннелем

Тип прокси: SOCKS4, прокси хост — локальная машина, где у нас крутится PUTTY — 127.0.0.1, а номер порта тот что мы настроили как динамический локальный в PUTTY. Всё сохраняем, логинимся и всё работает. И SFTP и FTP, если этот прокси забить в аське то и она заработает через нашу ВДС и в метатрейдере соответственно аналогично.

Не забывайте только, что админ может тупо забанить ваш ВДС по IP, поэтому не надо брать его сразу надолго. Ну и слишком валить трафик на это соединение тоже не стоит. Чтобы не палиться перед админом, да и на дешевых ВДС трафик обычно сильно ограничен.