Vytvorenie lokálneho SOCKS proxy pomocou SSH
Použite dynamické presmerovanie OpenSSH na 127.0.0.1, nechajte proces bežať počas relácie a odlíšte funkčný listener od dostupného cieľa.
S oprávneným SSH prístupom k serveru môže OpenSSH vytvoriť SOCKS listener na vašom počítači. SSH spojenie prenáša presmerovanú prevádzku a vzdialený server sa pripája k cieľu.
Listener iba na loopbacku
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
Nahraďte účet a názov hostiteľa. SSH server musí povoľovať presmerovanie; správca môže obmedziť presmerovanie a ciele nezávisle od prihlásenia k účtu.
-D vytvára dynamické presmerovanie a výslovná loopback adresa obmedzuje listener na tento počítač. -N vynechá vzdialený príkaz, -T pseudoterminál. ControlPath=none obíde existujúci zdieľací master a ForkAfterAuthentication=no ponechá toto spustenie v popredí.
Pri používaní proxy nechajte proces bežať. Ak je port 1080 obsadený, vyberte iný voľný vysoký port a upravte klienta. ExitOnForwardFailure=yes ukončí SSH, ak listener nemožno vytvoriť.
Použitie koncového bodu SOCKS
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
Táto požiadavka deleguje spracovanie názvu cieľa cez SOCKS5. Ostatné aplikácie potrebujú vlastné nastavenie SOCKS; pole pre HTTP proxy s týmto listenerom nevie hovoriť SOCKS.
Zistenie procesu, ktorý vlastní port:
ss -ltnp 'sport = :1080'
Zamýšľaný SSH proces by mal vlastniť loopback listener. Požiadavka cez neho overí, či vzdialený server tiež dosiahne cieľ. Použite kontrolovaný cieľ, keď potrebujete preskúmať pozorovaný výstup.
Trvanie relácie
Ctrl-C zavrie SSH proces, listener a presmerované spojenia. Prerušenie SSH spojenia tiež zneprístupní proxy.
ExitOnForwardFailure kontroluje vytvorenie. Neukončuje SSH pri každom neskoršom zlyhaní spojenia k cieľu, preto diagnostikujte zvlášť reláciu, lokálny port a cieľovú požiadavku.