Ваш вопрос неясен, потому что вы не объясняете, чего пытаетесь достичь. Я рискну предположить, что, конечно, может быть неверным. Я думаю, что:
- вы хотите использовать ssh для подключения со своей рабочей машины к
home.com
;
ssh home.com
не работает (зависает или отображает сообщение об ошибке), потому что ваш рабочий брандмауэр блокирует исходящие соединения;
user:pass@proxy.job.com:8080
- это прокси, который вы настроили в своем веб-браузере на работе.
Поскольку ssh использует протокол ssh, а не протокол http или https, он не заботится о http_proxy
или https_proxy
.
Есть способ туннелировать трафик ssh через прокси https. Прокси не может отличить трафик ssh от трафика https, так как они оба зашифрованы. Это могут сделать три программы: netcat (версия OpenBSD), corkscrew и connect-proxy. Я собираюсь привести пример для штопора, который, как я знаю, представлен в Cygwin. Используйте следующие настройки в вашем файле .ssh/config
:
Host home
HostName home.com
User myuser
ProxyCommand /usr/bin/corkscrew proxy.job.com 8080 %h %p /path/to/corkscrew/authfile
и поместите одну строку, содержащую user:pass
/path/to/corkscrew/authfile
.
Некоторые прокси не позволяют вам подключаться к порту 22 (обычный порт ssh), только к порту 443 (обычный порт https). Если у вас есть контроль над сервером на home.com
, вы также можете заставить его прослушивать порт 443: скорее всего, вы захотите добавить 443 к строке Port
в файле sshd_config
или перенаправить входящие соединения через порт. 443 на вашем домашнем маршрутизаторе к порту 22 на вашей машине sshd. Затем добавьте Port 443
под строкой HostName
в .ssh/config
.
В качестве альтернативы, если ваши попытки проникновения через брандмауэр не удаются, посмотрите на установку Ajaxterm на веб-сервере за пределами брандмауэра.