Туннель по HTTPS - PullRequest
       140

Туннель по HTTPS

25 голосов
/ 08 октября 2008

На моем рабочем месте блокировка трафика / брандмауэр постепенно ухудшается. Я не могу подключиться к своей домашней машине через порт 22, и отсутствие доступа по SSH меня огорчает. Ранее я мог использовать SSH, переместив его на порт 5050, но я думаю, что некоторые недавние фильтры теперь обрабатывают этот трафик как IM и перенаправляют его через другой прокси, возможно. Это мое лучшее предположение; в любом случае мои ssh-соединения теперь прерываются, прежде чем я могу войти в систему.

В эти дни я использовал Ajaxterm поверх HTTPS, так как порт 443 по-прежнему не используется, но это далеко от идеала. (Эмуляция терминала Sucky, отсутствие переадресации портов, мой браузер теряет память с удивительной скоростью ...) Я попытался настроить mod_proxy_connect поверх mod_ssl, с мыслью, что я могу отправить запрос CONNECT localhost:22 HTTP/1.1 через HTTPS и тогда у меня все будет готово. К сожалению, это, кажется, не работает; HTTPS-соединение работает, пока я не закончу отправлять запрос; тогда SSL вываливается. Похоже, что mod_proxy_connect захватывает все соединение вместо продолжения передачи через mod_ssl, что приводит в замешательство хет из клиента HTTPS.

Есть ли способ заставить это работать? Я не хочу делать это по обычному HTTP по нескольким причинам:

  • Оставив такой большой жирный открытый прокси, просто воняет
  • Большой толстый открытый прокси тоже не годится по HTTPS, но с проверкой подлинности мне это нравится.
  • HTTP проходит через прокси - я не слишком обеспокоен тем, что мой трафик будет перехвачен, так как это ssh, который будет проходить "открытый текст" через туннель - но это гораздо более вероятно быть искалеченным, чем HTTPS, который принципиально не может быть прокси

Требования:

  • Должен работать через порт 443, не нарушая другой HTTPS-трафик (т.е. я не могу просто поставить ssh-сервер на порт 443, потому что я больше не смогу обслуживать страницы через HTTPS)
  • У меня есть или я могу написать простой клиент перенаправления портов, работающий под Windows (или Cygwin)

Редактировать

DAG: туннелирование SSH через HTTP (S) мне было указано, но это не помогает: в конце статьи они упоминают Ошибка 29744 - CONNECT не работать над существующим SSL-соединением , предотвращая туннелирование по HTTPS, именно с этой проблемой я столкнулся. На данный момент, я, вероятно, смотрю на некоторый CGI-скрипт, но я не хочу указывать это как требование, если есть лучшие решения.

Ответы [ 13 ]

0 голосов
/ 03 декабря 2012

Мне удалось обойти брандмауэр моей компании, используя следующий дизайн через AjaxTerm, он работает для меня.

ПК в сети компании -> прокси компании через https -> ИНТЕРНЕТ -> Обратный прокси-сервер моего дома Apache по SSL + защита .htpasswd -> AjaxTerm Server (С этого момента я могу использовать SSH для любого другого серверы).

Все еще не идеальный мир ... было бы хорошо, если бы я мог туннелировать к моей домашней сети через HTTPS.

0 голосов
/ 05 марта 2009

Итак, попробуйте проксификатор (он поддерживает HTTP Proxy Server)!

http://www.proxifier.com/documentation/intro.htm

0 голосов
/ 09 октября 2008

Должен работать через порт 443, не нарушая другой HTTPS-трафик (т.е. я не могу просто поставить ssh-сервер на порт 443, потому что я больше не смогу обслуживать страницы через HTTPS)

Возможно ли привязать ваш HTTPS-сервер к другому порту? В зависимости от того, для чего он используется, вы можете даже решить проблему невозможности прямого доступа к нему с работы, просто используя SSHing дома, а затем используя lynx оттуда.

...