SOCKS vs. reenvío de puerto local SSH

Respuestas:

23

Con -L, SSH reenvía todas las conexiones a un destino fijo. Cuando se conecta al puerto local, todos los datos que envía van directamente al host remoto que especificó -L. Obviamente, esto requiere que sepa a qué host desea reenviar las conexiones.

Con -D, el destino es "dinámico": después de conectarse al puerto local, debe usar el protocolo proxy SOCKS para conectarse aún más al host remoto que desee. Básicamente, esto hace que SSH sea un servidor proxy real, adecuado para actividades como la navegación web, donde no se puede saber de antemano el destino.

Ejecute ssh -D 1080, por ejemplo, y configure Firefox para usar un proxy SOCKS 5 en localhost:1080.

usuario1686
fuente
2
A menudo uso ssh -D 8080 myhomecomputercuando uso mi computadora portátil en wifi público.
Evan Krall
2
@EvanKrall ¿El beneficio de ese enfoque es el hecho de que todo el tráfico (suponiendo que las aplicaciones estén usando el proxy SOCKS) se cifrará a través de su conexión SSH (es decir, no habrá solicitudes de red de texto sin formato )? Además, ¿cómo podría uno asegurarse de que todo el tráfico se envíe a través del proxy? ¿Hay alguna forma recomendada de hacer esto para todas las aplicaciones?
blong
1
@blong: la forma recomendada sería utilizar una conexión VPN para todo el sistema operativo.
user1686
Ah, ya veo, gracias @grawity. Pensé que podría ser algo que uno podría implementar sin un cliente VPN :)
blong