Con acceso SSH autorizado a un servidor, OpenSSH pode crear un punto de escoita SOCKS no teu equipo. A conexión SSH transporta o tráfico reenviado e o servidor remoto conecta co destino.

Unha escoita só en loopback

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

Substitúe a conta e o nome de host. O servidor SSH debe permitir o reenvío; o administrador pode restrinxir reenvío e destinos independentemente do acceso á conta.

-D crea reenvío dinámico e o enderezo loopback explícito limita a escoita a este equipo. -N omite unha orde remota; -T omite un pseudoterminal. ControlPath=none evita un mestre de compartición existente, mentres ForkAfterAuthentication=no mantén esta invocación en primeiro plano.

Mantén o proceso activo mentres uses o proxy. Se o porto 1080 está ocupado, escolle outro porto alto libre e actualiza o cliente. ExitOnForwardFailure=yes fai saír SSH se non pode crear o punto de escoita.

Usar o extremo SOCKS

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

Esta petición delega a xestión do nome de destino mediante SOCKS5. Outras aplicacións necesitan configuración SOCKS propia; un campo proxy HTTP non pode falar SOCKS con este punto de escoita.

Para ver que proceso posúe o porto:

ss -ltnp 'sport = :1080'

O proceso SSH previsto debería posuír unha escoita loopback. Unha petición a través del comproba se o servidor remoto tamén chega ao destino. Usa un destino controlado cando debas inspeccionar a saída observada.

Duración da sesión

Ctrl-C pecha o proceso SSH, a escoita e as conexións reenviadas. A caída de SSH tamén deixa o proxy inaccesible.

ExitOnForwardFailure comproba a preparación. Non remata SSH cada vez que falla unha conexión posterior ao destino; diagnostica por separado a sesión, o porto local e a petición ao destino.

Artigos relacionados