Túnel inverso para APP local


Expone una aplicación local en una IP publica usando un túnel inverso por medio de ssh

oscar Escrito por oscar 20 July 2026 4 0

Vamos a estructurarlo técnicamente para que tengas un PC local → túnel SSH → instancia EC2 → aplicación desplegada funcionando de forma segura.

Exponer una app que corre en tu PC a través de EC2 usando un túnel SSH (reverse tunnel)

Esto se usa cuando:

Arquitectura: Internet → EC2 (IP pública) → túnel SSH → tu PC → app local

Temas que debes revisar

Configurar Security Group en EC2

Este ejemplo lo realizamos al Crear una instancia EC2 de Amazon AWS en donde realizamos la configuración de la red, en donde seleccionamos un grupo de seguridad.

Nota: Este ejemplo también se puede hacer con cualquier maquina, o inatancia de Azure, o GCP.

En EC2 debes permitir los siguientes puertos en Grupos de seguridad de Amazon EC2 para instancias EC2:

Tipo Puerto Origen
SSH 22 Tu IP
Custom TCP (ej: 8080) 0.0.0.0/0 (si quieres público)

Conectarte por SSH desde tu PC

Procedemos a realizar una conexión ssh, revisa a detalle Cómo conectarse a la instancia EC2 desde Windows mediante OpenSSH

Linux / WSL / Git Bash

ssh -i mi-clave.pem ec2-user@IP_PUBLICA_EC2

Ubuntu

ssh -i mi-clave.pem ubuntu@IP_PUBLICA_EC2

Crear túnel SSH inverso

Recuerda revisar Ejemplo con túnel SSH inverso si aun no has trabajado con tueneles invesos.

Supongamos:

Desde tu PC ejecuta:

ssh -i mi-clave.pem -R 8080:localhost:3000 ec2-user@IP_PUBLICA_EC2

Esto significa:

En EC2 puerto 8080 → redirige a → localhost:3000 de tu PC

Ahora si visitas:

http://IP_PUBLICA_EC2:8080

Verás tu aplicación local.

Permitir GatewayPorts (IMPORTANTE)

En la instancia EC2 debes editar:

sudo nano /etc/ssh/sshd_config

Buscar:

#GatewayPorts no

Cambiarlo a:

GatewayPorts yes

Luego reiniciar:

sudo systemctl restart sshd

Si no haces esto, solo funcionará en localhost dentro de EC2.


Comentario

Debe aceptar antes de enviar