SSH verbinden via een HTTP-proxy
Leid een SSH-verbinding door een bestaande HTTP CONNECT-proxy met een ProxyCommand per host.
Voeg met een OpenBSD-compatibele nc deze hostregel toe aan de SSH-clientconfiguratie, bijvoorbeeld ~/.ssh/config:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pGebruik ssh work-through-proxy voor die route. De helper vraagt de HTTP-proxy om CONNECT naar ssh.example.com en geeft de geaccepteerde stream door aan SSH. SSH rechtstreeks op de poort van de proxy richten zou de handshake naar een dienst sturen die HTTP verwacht.
Vervang het eindpunt, de bestemming en het account. Voor een publiek bereikbare SSH-bestemming waar een publieke tussenpartij is toegestaan, biedt de HTTP-proxylijst kandidaten om de toegang tot die host en poort te controleren; kies een eindpunt dat geen proxyaccount nodig heeft voor de getoonde opdracht. Deze OpenBSD nc-opties zijn implementatieafhankelijk; een ander uitvoerbaar bestand met de naam nc ondersteunt ze mogelijk niet.
De proxy kan een eigen aanmelding vereisen of de gevraagde SSH-poort weigeren. Een 407 gaat over die proxy-uitwisseling. Nadat de tunnel open is, verifieert SSH nog steeds de doelserver en authenticeert de gebruiker; een geweigerde SSH-sleutel is een andere fout.
Houd de ProxyCommand onder het bedoelde Host-gedeelte en gebruik indien nodig het door de gekozen helper ondersteunde proxy-authenticatiepad. De opdracht levert een stream, geen toestemming via de tussenpartij. Als alleen HTTPS-bestemmingen zijn toegestaan, regel dan een goedgekeurde SSH-toegangsafspraak in plaats van aan te nemen dat een andere spelling van de opdracht het beleid verandert.