Падключэнне SSH праз HTTP-проксі
Правядзіце SSH-злучэнне праз існуючы HTTP CONNECT-проксі з дапамогай ProxyCommand для кожнага хоста.
З сумяшчальным з OpenBSD nc дадайце гэты запіс хоста ў канфігурацыю кліента SSH, напрыклад ~/.ssh/config:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pДля гэтага маршруту выкарыстоўвайце ssh work-through-proxy. Памочнік запытвае ў HTTP-проксі CONNECT да ssh.example.com і перадае прыняты паток SSH. Калі накіраваць SSH непасрэдна на порт проксі, яго handshake патрапіць у сэрвіс, які чакае HTTP.
Замяніце канчатковы пункт, пункт прызначэння і ўліковы запіс. Для публічна дасяжнага SSH-пункта, дзе дазволены публічны пасярэднік, спіс HTTP-проксі прапануе варыянты для праверкі доступу да гэтага хоста і порта; выберыце пункт, якому не патрэбны ўліковы запіс проксі для паказанай каманды. Гэтыя параметры OpenBSD nc залежаць ад рэалізацыі; іншы выканальны файл з назвай nc можа іх не падтрымліваць.
Проксі можа патрабаваць уласны ўваход або адхіліць запытаны порт SSH. Памылка 407 датычыцца менавіта гэтага абмену з проксі. Пасля адкрыцця тунеля SSH усё яшчэ правярае мэтавы хост і аўтэнтыфікуе яго карыстальніка; адхілены ключ SSH — гэта іншая памылка.
Трымайце ProxyCommand у патрэбным раздзеле Host і пры неабходнасці выкарыстоўвайце падтрыманы абраным памочнікам шлях аўтэнтыфікацыі праз проксі. Каманда дае паток, а не дазвол праз пасярэдніка. Калі дазволены толькі HTTPS-пункты, атрымайце ўзгоднены доступ да SSH, а не мяркуйце, што іншае напісанне каманды зменіць палітыку.