Si Ncat ya está disponible para Windows OpenSSH, puede proporcionar la conexión a través de un proxy SOCKS5. Añada una entrada de host a la configuración SSH que usa ese cliente OpenSSH:

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

Sustituya ambos nombres de host y la cuenta, y luego conéctese con ssh target-via-socks. Este ejemplo supone que ncat.exe está en la ruta de búsqueda de ejecutables del auxiliar. De lo contrario, use la ruta completa del ejecutable correctamente entre comillas, especialmente cuando el directorio contenga espacios.

El extremo del proxy va después de --proxy. OpenSSH expande %h y %p al nombre de host y puerto SSH finales. Ncat negocia la conexión SOCKS y transporta el flujo de bytes resultante por la entrada y la salida estándar; OpenSSH continúa su handshake SSH sobre ese flujo.

El --proxy-type socks5 explícito importa. Ncat usa un proxy HTTP de forma predeterminada cuando falta esa opción, incluso si el puerto proporcionado es 1080. Un receptor SOCKS no puede inferir que una solicitud HTTP CONNECT pretendía ser SOCKS.

Este ejemplo supone un extremo SOCKS sin autenticación; elija un candidato de la lista de proxies SOCKS5 solo para un destino SSH público donde esa ruta esté permitida, y compruebe el acceso a su host y puerto reales. La autenticación del proxy, cuando se requiere, es independiente del inicio de sesión SSH posterior. Mantenga la verificación de la clave de host del destino SSH; llegar a él mediante un auxiliar no cambia la identidad que OpenSSH debe autenticar.

Artículos relacionados