Ein SSH-vidaresend port er ikkje alltid ein SOCKS-proxy
Skil mellom ei fast lokal SSH-vidaresending og ein dynamisk SOCKS-lyttar før du konfigurerer eit program.
Du lagar ein SSH-tunnel, legg inn 127.0.0.1 og porten i proxyinnstillingane til nettlesaren, og ingenting blir lasta. Lyttaren kan fungere heilt fint. Han ventar kanskje berre på feil type trafikk.
| Vidaresending | Kva det lokale programmet sender | Val av destinasjon |
|---|---|---|
-L | Den vanlege protokollen til destinasjonstenesta | Låst i SSH-kommandoen |
-D | Ei SOCKS-forhandling, deretter programtrafikk | Forespurd av SOCKS-klienten |
For ein einaste webserver er dette ei fast vidaresending:
ssh -N -L 127.0.0.1:9080:web.example.com:80 [email protected]
Besøk http://127.0.0.1:9080/ som eit nettstad. Ikkje merka port 9080 som SOCKS: han vidaresend byte til den eine webserveren som er nemnd i kommandoen. Å opna ein nettstad under eit anna vertsnamn kan også påverka den virtuelle hostinga, omdirigeringane eller informasjonskapslane hans.
For ein SOCKS-lyttar endrar forma seg:
ssh -N -D 127.0.0.1:1080 [email protected]
Konfigurer programmet til å bruka SOCKS på 127.0.0.1:1080. Skriv du inn den adressa direkte i adressefeltet til nettlesaren, blir ei nettførespurnad send til ein SOCKS-lyttar, nok eit protokollavvik.
OpenSSH-handboka dokumenterer begge formene. Det finst eit nyttig unntak: å vidaresenda ein eksisterande HTTP-proxy med -L gjev ein lokal port som snakkar HTTP-proxyprotokoll, fordi den faste destinasjonen hans sjølv er ein HTTP-proxy. Tenesta i den andre enden avgjer kva som høyrer til ei fast vidaresending. Vidaresenda ein eksisterande proxy via SSH behald protokollen og kontoen til den proxyen.