SSH redireccion de puerto remoto
On this page
Apoya este blog
Si te resulta util este contenido, considera apoyar el blog.
Introducción#
SSH es una excelente herramienta no solo para conectarte e interactuar con servidores remotos. En este artículo vamos a explorar el reenvío de puertos remotos con SSH y qué significa. También exploraremos el Reenvío de puertos locales con SSH y el Proxy Socks con SSH y cómo usar esas funcionalidades.
Explicación#
El reenvío de puertos remotos te permite redirigir un puerto desde tu máquina local hacia una máquina remota. Por ejemplo, si querés conectarte a un servicio local desde un servidor remoto pero solo temporalmente. Supongamos que querés conectarte a una instancia de MySQL en el puerto por defecto (3306).
El comando
ssh -Nn -R 3306:localhost:3306 [email protected]
Los parámetros y su significado Saqué una porción del significado de los parámetros de la página del manual, pero en resumen significa reenvío de puerto remoto sin ejecutar un shell.
-N No ejecuta un comando remoto. Esto es útil solo para redirigir puertos.
-n Redirige stdin desde /dev/null (evita leer desde stdin). Esto debe usarse cuando SSH se ejecuta en segundo plano.
-R Especifica que las conexiones al puerto TCP o socket Unix en el host remoto (servidor) deben redirigirse hacia el lado local.
Configuración del servidor#
Hay dos parámetros de configuración que pueden cambiar el comportamiento del reenvío de puertos locales y remotos. Estos parámetros son GatewayPorts y AllowTcpForwarding.
GatewayPorts#
Por defecto, esta opción está configurada en no, lo que significa que solo la computadora remota podrá conectarse al puerto redirigido. Podés configurarlo en yes o clientspecified para permitir que otras máquinas usen ese puerto remoto redirigido (es útil, pero también puede ser peligroso).
AllowTcpForwarding#
Por defecto, esta opción está configurada en yes. Podés restringir el reenvío de puertos locales y remotos configurándola en no, o permitir solo el reenvío local configurándola en local.
Notas finales#
Como podés ver, esta opción es muy útil para saltarse firewalls o crear un reenvío de puertos temporal. Si querés hacerlo automático y no tan temporal, podés revisar autossh. Para probar las conexiones y los túneles sin instalar nada adicional, podés usar nc (netcat): en el servidor ejecutás nc -l -p PUERTO, y en el cliente, nc HOST PUERTO.
Errata#
Si encontrás algún error o tenés alguna sugerencia, por favor enviame un mensaje para que lo corrija.
$ Comentarios
Online: 0Por favor inicie sesión para poder escribir comentarios.