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.

Gerelateerde artikelen