Estoy tratando de entender las diferencias entre ssh -L a -D. ¿Hay algo más, excepto que -D es solo SOCKS?
¡Gracias!
Estoy tratando de entender las diferencias entre ssh -L a -D. ¿Hay algo más, excepto que -D es solo SOCKS?
¡Gracias!
Respuestas:
ssh -L
abre un puerto local. Todo lo que envía a ese puerto se transfiere a través de la conexión ssh y sale del servidor. Si lo hace, por ejemplo, ssh -L 4444:google.com:80
si abre http://localhost:4444
en su navegador, verá la página de Google.
ssh -D
abre un puerto local, pero no tiene un punto final específico como con -L
. En cambio, pretende ser un proxy SOCKS. Si abre, por ejemplo, ssh -D 7777
cuando le dice a su navegador que lo use localhost:7777
como su proxy SOCKS, todo lo que solicite su navegador pasará por el túnel ssh. Para el Internet público, es como si estuviera navegando desde su servidor ssh en lugar de hacerlo desde su computadora.
The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.
ssh -L 4444:google.com:80
no funciona para mí, requiere otro parámetro para iniciar sesión, como user@example.com
En SSH, -D
especifica un reenvío de puerto a nivel de aplicación "dinámico" local.
SSH -D [bind_address:]port
Especifica un reenvío de puertos a nivel de aplicación "dinámico" local. Esto funciona mediante la asignación de un socket para escuchar el puerto en el lado local, opcionalmente vinculado a la dirección de enlace especificada. Cada vez que se realiza una conexión a este puerto, la conexión se reenvía a través del canal seguro, y el protocolo de aplicación se utiliza para determinar dónde conectarse desde la máquina remota. Actualmente, los protocolos SOCKS4 y SOCKS5 son compatibles, y ssh actuará como un servidor SOCKS. Solo root puede reenviar puertos privilegiados. Los reenvíos de puertos dinámicos también se pueden especificar en el archivo de configuración.
Las direcciones IPv6 se pueden especificar con una sintaxis alternativa: puerto [bind_address /] o encerrando la dirección entre corchetes.
Solo el superusuario puede reenviar puertos privilegiados. De forma predeterminada, el puerto local está vinculado de acuerdo con la configuración de GatewayPorts. Sin embargo, se puede usar una dirección de enlace explícita para vincular la conexión a una dirección específica. Bind_address de "localhost" indica que el puerto de escucha está vinculado solo para uso local, mientras que una dirección vacía o '*' indica que el puerto debe estar disponible en todas las interfaces.
Además, ssh -L
especifica que el puerto dado en el host local (cliente) debe reenviarse al host y puerto dados en el lado remoto.
SSH -L [bind_address:]port:host:hostport
Especifica que el puerto dado en el host local (cliente) debe reenviarse al host y puerto dados en el lado remoto. Esto funciona mediante la asignación de un socket para escuchar el puerto en el lado local, opcionalmente vinculado a la dirección de enlace especificada. Cada vez que se realiza una conexión a este puerto, la conexión se reenvía a través del canal seguro y se establece una conexión al puerto host del puerto host desde la máquina remota. Los reenvíos de puertos también se pueden especificar en el archivo de configuración. Las direcciones IPv6 se pueden especificar con una sintaxis alternativa: [bind_address /] port / host / hostport o encerrando la dirección entre corchetes.
Solo el superusuario puede reenviar puertos privilegiados. De forma predeterminada, el puerto local está vinculado de acuerdo con la configuración de GatewayPorts. Sin embargo, se puede usar una dirección de enlace explícita para vincular la conexión a una dirección específica. Bind_address de "localhost" indica que el puerto de escucha está vinculado solo para uso local, mientras que una dirección vacía o '*' indica que el puerto debe estar disponible en todas las interfaces.