¿Puedo usar un túnel SSH para acceder a un servidor web que escucha en una IP / puerto diferente en el mismo servidor?

9

Tengo un servidor web que no está listo para la disponibilidad general, pero todavía me gustaría probar algunas cosas de forma remota. ¿Puedo aprovechar un túnel SSH para conectarme al servidor y luego usar el túnel para enrutar al servicio web que opera en el mismo servidor? ¿Si es así, cómo?

Me doy cuenta de que implementar excepciones de firewall sería más fácil, pero esa no es una opción en este momento.

Perdón si esto es confuso. Estoy de acuerdo en que es un escenario único.

CentOS 5.x

Mike B
fuente

Respuestas:

8

Sé que la administración cherokee funciona de esta manera, así que digamos que ha vinculado su servidor web a su host local en el puerto 8080

ssh -L 8080:localhost:8080 your_servers_ip

Después de eso, puede acceder a la interfaz remota a través de http: // localhost: 8080 y todas las solicitudes se enviarán a la IP remota que ejecuta su servidor web.

Lucas Kauffman
fuente
Gracias. En una nota al margen, también necesitaba modificar mi archivo de hosts para aprovechar la dirección (como se esperaba).
Mike B
4

Lo que dijo Lucas, donde "localhost" también puede ser cualquier dirección IP accesible desde el host SSH.

Tenga en cuenta que si está usando hosts virtuales de nombre, también necesitará hacer un hack / etc / hosts, para que agregue algo a la línea 127.0.0.1 existente, algo como:

127.0.0.1   localhost  secretwebserver.example.com

Su navegador puede usar http://secretwebserver.example.com:8080 .

cjc
fuente