Geef Windows OpenSSH een expliciete SOCKS5 Ncat-opdracht
Gebruik Ncat als transporthelper voor de standaardstream van OpenSSH en geef SOCKS5 op in plaats van te vertrouwen op de standaard HTTP-proxy.
Als Ncat al beschikbaar is voor Windows OpenSSH, kan het de verbinding via een SOCKS5-proxy leveren. Voeg een hostregel toe aan de SSH-configuratie die die OpenSSH-client gebruikt:
Host target-via-socks
HostName ssh.example
User user
ProxyCommand ncat.exe --proxy-type socks5 --proxy proxy.example:1080 %h %p
Vervang beide hostnamen en het account en maak vervolgens verbinding met ssh target-via-socks. Dit voorbeeld gaat ervan uit dat ncat.exe in het zoekpad voor uitvoerbare bestanden van de helper staat. Gebruik anders het correct tussen aanhalingstekens gezette volledige pad naar het uitvoerbare bestand, vooral wanneer de map spaties bevat.
Het proxy-eindpunt komt na --proxy. OpenSSH breidt %h en %p uit naar de uiteindelijke SSH-hostnaam en poort. Ncat onderhandelt de SOCKS-verbinding en draagt de resulterende bytestroom op standaardinvoer en -uitvoer; OpenSSH zet zijn SSH-handshake over die stroom voort.
De expliciete --proxy-type socks5 is belangrijk. Zonder die optie gebruikt Ncat standaard een HTTP-proxy, zelfs als de opgegeven poort 1080 is. Een SOCKS-listener kan niet afleiden dat een HTTP CONNECT-verzoek als SOCKS bedoeld was.
Dit voorbeeld gaat uit van een niet-geauthenticeerd SOCKS-eindpunt; kies een kandidaat uit de SOCKS5-proxylijst alleen voor een openbare SSH-bestemming waar die route is toegestaan, en controleer de toegang tot de werkelijke host en poort. Proxy-authenticatie is, indien nodig, gescheiden van de latere SSH-login. Behoud de verificatie van de hostsleutel van de SSH-bestemming; die via een helper bereiken verandert niet de identiteit die OpenSSH moet authenticeren.