Se Ncat è già disponibile per Windows OpenSSH, può fornire la connessione tramite un proxy SOCKS5. Aggiungete una voce host alla configurazione SSH usata da quel client OpenSSH:

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

Sostituite entrambi i nomi host e l'account, quindi connettetevi con ssh target-via-socks. Questo esempio presuppone che ncat.exe sia nel percorso di ricerca degli eseguibili dell'helper. Altrimenti usate il percorso completo dell'eseguibile correttamente tra virgolette, soprattutto quando la cartella contiene spazi.

L'endpoint del proxy va dopo --proxy. OpenSSH espande %h e %p nel nome host e nella porta SSH finali. Ncat negozia la connessione SOCKS e trasporta il flusso di byte risultante su input e output standard; OpenSSH prosegue la stretta di mano SSH su quel flusso.

Il --proxy-type socks5 esplicito è importante. Senza quell'opzione, Ncat usa per impostazione predefinita un proxy HTTP, anche se la porta fornita è 1080. Un listener SOCKS non può dedurre che una richiesta HTTP CONNECT fosse intesa come SOCKS.

Questo esempio presuppone un endpoint SOCKS senza autenticazione; scegliete un candidato dall'elenco dei proxy SOCKS5 solo per una destinazione SSH pubblica in cui quel percorso è consentito, e verificate l'accesso al suo host e alla sua porta reali. L'autenticazione del proxy, quando richiesta, è separata dal successivo accesso SSH. Mantenete la verifica della chiave host della destinazione SSH; raggiungerla tramite un helper non cambia l'identità che OpenSSH deve autenticare.

Articoli correlati