Pravljenje lokalnog SOCKS proksija pomoću SSH-a
Koristite dinamičko OpenSSH prosleđivanje na 127.0.0.1, držite proces aktivnim tokom sesije i odvojite rad osluškivača od dostupnosti cilja.
Uz dozvoljen SSH pristup serveru, OpenSSH može napraviti SOCKS osluškivač na računaru. SSH veza prenosi prosleđeni saobraćaj, a udaljeni server 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]
Zamenite nalog i naziv hosta. SSH server mora dopuštati prosleđivanje; administrator može ograničiti prosleđivanje i odredišta nezavisno od prijave na nalog.
-D pravi dinamičko prosleđivanje, a izričita loopback adresa ograničava osluškivač na ovaj računar. -N izostavlja udaljenu naredbu, -T pseudoterminal. ControlPath=none izbegava postojeći deljeni master, a ForkAfterAuthentication=no drži ovo pozivanje u prvom planu.
Držite proces pokrenutim dok koristite proksi. Ako je port 1080 zauzet, izaberite drugi slobodni visoki port i ažurirajte klijenta. ExitOnForwardFailure=yes prekida SSH ako ne može napraviti osluškivač.
Korišćenje SOCKS krajnje tačke
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
Ovaj zahtev delegira obradu naziva odredišta kroz SOCKS5. Druge aplikacije trebaju sopstvenu SOCKS konfiguraciju; polje za HTTP proksi ne može govoriti SOCKS s ovim osluškivačem.
Provera procesa koji poseduje port:
ss -ltnp 'sport = :1080'
Predviđeni SSH proces treba posedovati loopback osluškivač. Zahtev kroz njega proverava može li i udaljeni server pristupiti cilju. Koristite kontrolisano odredište kada treba pregledati posmatrani izlaz.
Životni vek sesije
Ctrl-C zatvara SSH proces, osluškivač i prosleđene veze. Prekid SSH veze takođe čini proksi nedostupnim.
ExitOnForwardFailure proverava postavljanje. Ne prekida SSH pri svakom kasnijem neuspehu veze s ciljem, pa zasebno proveravajte sesiju, lokalni port i zahtev odredištu.