Wenn Ncat für Windows OpenSSH bereits verfügbar ist, kann es die Verbindung über einen SOCKS5-Proxy bereitstellen. Fügen Sie der SSH-Konfiguration, die dieser OpenSSH-Client verwendet, einen Host-Eintrag hinzu:

Host target-via-socks
    HostName ssh.example
    User user
    ProxyCommand ncat.exe --proxy-type socks5 --proxy proxy.example:1080 %h %p

Ersetzen Sie beide Hostnamen und das Konto, und verbinden Sie sich dann mit ssh target-via-socks. Dieses Beispiel setzt voraus, dass ncat.exe im Suchpfad für ausführbare Dateien des Helfers liegt. Andernfalls verwenden Sie den korrekt in Anführungszeichen gesetzten vollständigen Pfad zur ausführbaren Datei, besonders wenn das Verzeichnis Leerzeichen enthält.

Der Proxy-Endpunkt gehört nach --proxy. OpenSSH erweitert %h und %p zum endgültigen SSH-Hostnamen und Port. Ncat handelt die SOCKS-Verbindung aus und überträgt den resultierenden Bytestrom über Standardeingabe und -ausgabe; OpenSSH setzt seinen SSH-Handshake über diesen Strom fort.

Das explizite --proxy-type socks5 ist wichtig. Fehlt diese Option, verwendet Ncat standardmäßig einen HTTP-Proxy, selbst wenn der angegebene Port 1080 ist. Ein SOCKS-Listener kann nicht ableiten, dass eine HTTP-CONNECT-Anfrage als SOCKS gemeint war.

Dieses Beispiel setzt einen nicht authentifizierten SOCKS-Endpunkt voraus; wählen Sie einen Kandidaten aus der SOCKS5-Proxy-Liste nur für ein öffentliches SSH-Ziel, für das diese Route zulässig ist, und prüfen Sie den Zugang zu dessen tatsächlichem Host und Port. Die Proxy-Authentifizierung ist, wenn nötig, vom späteren SSH-Login getrennt. Behalten Sie die Prüfung des Hostschlüssels des SSH-Ziels bei; der Zugriff über einen Helfer ändert nicht die Identität, die OpenSSH authentifizieren soll.

Ähnliche Artikel