Med autorisert SSH-tilgang til ein tenar kan OpenSSH opprette ein SOCKS-lyttar på datamaskina di. SSH-sambandet ber den vidaresende trafikken, og den eksterne tenaren opprettar målsambandet.

Ein lyttar berre på loopback

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

Byt konto og vertsnamn. SSH-tenaren må tillate vidaresending; administratoren kan avgrense vidaresending og mål uavhengig av kontoinnlogging.

-D opprettar dynamisk vidaresending, og den uttrykkjelege loopbackadressa avgrensar lyttaren til denne maskina. -N utelèt ein fjernkommando; -T utelèt ein pseudoterminal. ControlPath=none unngår ein eksisterande delingsmaster, medan ForkAfterAuthentication=no held dette kallet i framgrunnen.

Hald prosessen køyrande medan du brukar proxyen. Er port 1080 oppteken, vel ein annan ledig høg port og oppdater klienten. ExitOnForwardFailure=yes får SSH til å avslutte dersom lyttaren ikkje kan opprettast.

Bruke SOCKS-endepunktet

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

Denne førespurnaden delegerer handsaming av målnamnet gjennom SOCKS5. Andre program treng eiga SOCKS-konfigurasjon; eit HTTP-proxyfelt kan ikkje snakke SOCKS med denne lyttaren.

Slik sjekkar du kva prosess som eig porten:

ss -ltnp 'sport = :1080'

Den tiltenkte SSH-prosessen bør eige ein loopbacklyttar. Ein førespurnad gjennom han sjekkar om den eksterne tenaren òg kan nå målet. Bruk eit kontrollert mål når du må undersøkje den observerte utgangen.

Levetida til økta

Ctrl-C lukkar SSH-prosessen, lyttaren og dei vidaresende sambanda. Eit brote SSH-samband gjer òg proxyen utilgjengeleg.

ExitOnForwardFailure kontrollerer oppsettet. Det avsluttar ikkje SSH kvar gong eit seinare målsamband feilar, så diagnostiser økta, den lokale porten og målførespurnaden kvar for seg.

Relaterte artiklar