Обсуждение статьи тематического каталога: Использование SSH поверх прокси (через SSL CONNECT в squid) (ssh ssl tunnel squid proxy)Ссылка на текст статьи: http://www.opennet.me/base/net/ssh_over_ssl.txt.html
Несколько криво это всё работает. А на OS отличных от Linux/BSD оно без напильника даже не собирается. Кроме того этот патч ТОЛЬКО для stunnel-3.14.
Более универсальное решение для тунелирования ssh прпотокола - использовать программу Corkscrew (http://www.agroman.net/corkscrew/), которая специально заточена для этого.
А как на счет соединения в среде виндовс, какими штучками это можно сделать
В Windows есть ssh-клиент putty - там в настройках надо указать прокси - и всё!
У меня практически работала совсем другая схема.
I. Обеспечить выход в мир через connect в squid или аналоге (в частности, в последние использования это был MS ISA сервер). Для этого или:
1) Вписать порт 22 в список разрешённых SSL-портов
или:
2) Сделать на серверной стороне приём коннектов SSH на другой порт (например, 443). Требуется или отдельный SSH-демон, или функциональность аналогичная ipfw fwd во FreeBSD - завернуть соединение на другой порт. Например:
ipfw add NNN fwd main_ip,22 tcp to aux_ipВ этом варианте SSH будет отвечать на __всех__ портах
;)))II. Собственно обеспечить проброс. В портах есть corkscrew. К ней надо добавить посылку авторизации (одна строчка в Си;)). Я про неё тогда не знал и сделал самопальный аналог. После этого вызов corkscrew/аналога записывается в ProxyCommand в ~/.ssh/config для данного соединения. Также надо переопределить при этом UserKnownHostsFile (в какой-то отдельный файл) и HostName (в 127.0.0.1, чтобы не морочило голову DNS).
Рецепт как описан неполный в том смысле, что код для авторизации тут не давал. Дойдут руки - дополню.
поставил cygwin, попарился с настройками и компиляцией corkscrew, когда уже всё было готово, возник вопрос: "каким клиентом коннектится на сервак?"
Оказывается, всё намного проще! Я всегда использовал putty для подключения из винды на BSD. Этот клиент сам по себе поддерживает работу через прокси. Остается только настроить сервер на порт 443 или сделать форвардинг пакетов с 443 на 22 порт.
У меня построено так: putty через прокси уходит на мой виндовый сервак с установленным порт маппером (в netview от killsoft). Маппер делает из инет:443 локалBSD:22
Всё. Коннект установлен.
теперь надо пробросить VPN также...
кстати, где то видел, что с corkscrew можно проходить через не только http-proxy Но и через httpS-proxy
однако что то у меня не вышо - может у кого то выходило??
>кстати, где то видел, что с corkscrew можно проходить через не только
>http-proxy Но и через httpS-proxy
>однако что то у меня не вышо - может у кого то
>выходило??зачем прокидывать через https, если данные уже идут внутри ssh ?
Я когда поднимаю тунель на стороне клиента к серверу то соединение создается успешно. Однако когда я пытаюсь вопользоваться тунелем Firefox'ом то никаких ошибок не возникает (типа тунель есть и работает), однако все сайты открываются пустыми страницами (контент не передается почему то..) Никто не в курсе в какую сторону копать?
Спасибо!
Vidimo u vas SSH ne podderzhivaet HTTP proxy - ispolzuite SOCKS. dlya firefox est' addon foxyproxy - on pozvolit ispolzovat' SOCKS dlya vseh protokolov. Udachi!
Мне в итоге помог реверсивный ssh. http://toic.org/2009/01/18/reverse-ssh-port-forwarding/
А что делать если в прокси закрыт доступ через 443 порт, открыт только 80й?Прокся режет все https соединения, кроме проверенных серверов, список которых очень узок.