ssh через http proxy

 

Во многих учереждениях существует политика ограничения доступа к интернету. Часто доступ в интернет доступен только через http-прокси, причем на ограниченое множество портов (80, 443, 8080 и т.п.).

Однако наверное все http-прокси поддерживают https, а он (из-за шифрации ssl) реализуется с помощью метода CONNECT. Таким образом прокси разрешает через себя делать коннекты на порт 443 (а возможно и другие), чем можно воспользоваться.
Итак, заранее подготавливаем внешний ssh сервер, редактируя файл sshd_config (/etc/ssh/sshd_config):

В стандартном шаблоне определены следующие строки:

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Раскомментируем "#Port 22" и добавляем "Port 443", чтобы получилось примерно так:

#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
Port 22
Port 443

Перезапускаем sshd:
/etc/init.d/sshd restart

Далее настраиваем клиента:

Во-первых ставим corkscrew:
emerge -av corkscrew (или аналогично в другом дистрибутиве).

После этого модифицируем (или создаем) ~/.ssh/config следующего содержания:

Host your.ssh.host
        ProxyCommand corkscrew local.proxy 3128 %h %p
, где local.proxy и 3128 - адрес и порт локального прокси-сервера.

Все, после этого вы сможете без проблем подключаться к вашем серверу по ssh через обычный http/https прокси.

не полно, нужно было более

не полно, нужно было более подробнее рассказать.

Спасибо! Хоть понял, в какую

Спасибо! Хоть понял, в какую сторону копать! и все получилось! :-)
man corkscrew рулит :)

при конекте не забудьте

при конекте не забудьте указать номер порта 443

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
КАПЧА