Маючы дазволены SSH-доступ да сервера, можна праз OpenSSH стварыць SOCKS-слухач на сваім камп’ютары. SSH-злучэнне пераносіць перанакіраваны трафік, а аддалены сервер злучаецца з мэтай.

Праслухоўванне толькі loopback

ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]

Замяніце ўліковы запіс і імя хоста. Сервер SSH павінен дазваляць перанакіраванне; адміністратар можа абмяжоўваць яго і мэты незалежна ад уваходу ва ўліковы запіс.

-D стварае дынамічнае перанакіраванне, а яўны loopback-адрас абмяжоўвае слухач гэтым камп’ютарам. -N не выконвае аддаленую каманду, -T не выдзяляе псеўдатэрмінал. ControlPath=none абыходзіць наяўны агульны master-працэс, а ForkAfterAuthentication=no пакідае гэты запуск на пярэднім плане.

Трымайце працэс запушчаным падчас выкарыстання проксі. Калі порт 1080 заняты, выберыце іншы вольны высокі порт і змяніце кліента. ExitOnForwardFailure=yes завяршае SSH, калі слухач не ўдалося стварыць.

Выкарыстанне канцавога пункта SOCKS

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/

Гэты запыт дэлегуе апрацоўку імя мэты праз SOCKS5. Іншым праграмам патрэбны ўласныя налады SOCKS; поле HTTP-проксі не можа гаварыць SOCKS з гэтым слухачом.

Праверка ўладальніка порта:

ss -ltnp 'sport = :1080'

Патрэбны SSH-працэс павінен валодаць loopback-слухачом. Запыт праз яго правярае, ці аддалены сервер таксама дасягае мэты. Выкарыстоўвайце кантраляваную мэту, калі трэба праверыць назіраны выхад.

Час жыцця сеанса

Ctrl-C закрывае працэс SSH, слухач і перанакіраваныя злучэнні. Разрыў SSH-злучэння таксама робіць проксі недаступным.

ExitOnForwardFailure правярае стварэнне. Ён не завяршае SSH пры кожным пазнейшым збоі мэтавага злучэння, таму асобна правярайце сеанс, лакальны порт і запыт да мэты.

Падобныя артыкулы