Stvaranje lokalnog SOCKS proxyja pomoću SSH-a
Koristite dinamičko OpenSSH prosljeđivanje na 127.0.0.1, držite proces aktivnim tijekom sesije i razlikujte rad osluškivača od dostupnosti cilja.
Uz odobren SSH pristup poslužitelju, OpenSSH može stvoriti SOCKS osluškivač na vašem računalu. SSH veza prenosi proslijeđeni promet, a udaljeni poslužitelj povezuje se s odredištem.
Osluškivač samo na loopbacku
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
Zamijenite račun i naziv hosta. SSH poslužitelj mora dopuštati prosljeđivanje; administrator može ograničiti prosljeđivanje i odredišta neovisno o prijavi na račun.
-D stvara dinamičko prosljeđivanje, a izričita loopback adresa ograničava osluškivač na ovo računalo. -N izostavlja udaljenu naredbu, -T pseudoterminal. ControlPath=none izbjegava postojeći dijeljeni master, a ForkAfterAuthentication=no drži ovo pozivanje u prvom planu.
Držite proces pokrenutim dok koristite proxy. Ako je port 1080 zauzet, odaberite drugi slobodni visoki port i ažurirajte klijenta. ExitOnForwardFailure=yes prekida SSH ako ne može stvoriti osluškivač.
Uporaba SOCKS krajnje točke
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
Ovaj zahtjev delegira obradu naziva odredišta kroz SOCKS5. Druge aplikacije trebaju vlastitu SOCKS konfiguraciju; polje za HTTP proxy ne može govoriti SOCKS s ovim osluškivačem.
Provjera procesa koji posjeduje port:
ss -ltnp 'sport = :1080'
Predviđeni SSH proces treba posjedovati loopback osluškivač. Zahtjev kroz njega provjerava može li i udaljeni poslužitelj pristupiti cilju. Koristite kontrolirano odredište kada trebate pregledati promatrani izlaz.
Životni vijek sesije
Ctrl-C zatvara SSH proces, osluškivač i proslijeđene veze. Prekid SSH veze također čini proxy nedostupnim.
ExitOnForwardFailure provjerava postavljanje. Ne prekida SSH pri svakom kasnijem neuspjehu veze s ciljem, pa zasebno provjeravajte sesiju, lokalni port i zahtjev odredištu.