Esta sí que la he utilizado bastante y no me canso de bendecirla. La explico con un ejemplo para que se entienda más fácil...
Imagine que está en un entorno de desarrollo donde usted tiene su máquina y accesso vía SSH al servidor de Calidad. Este servidor está protegido con un firewall y no puede acceder desde su máquina a otro puerto del mismo, que no sea el 22 (puerto SSH por omisión).
La cuestión surge cuando usted, que tiene acceso vía SSH, desea conectarse a la BD PostgreSQL que está corriendo en ese servidor desde su máquina, usted necesita acceder al puerto 5432 (puerto PostgreSQL por omisión) y sabe que cuando está conectado al servidor de forma local tiene acceso, pero de forma remota no. Entonces...
Usted puede crear un tunel (además sobre SSH - cifrado) y establecer una correlación entre un puerto local y el puerto remoto!! Creada la correlación, se conectaría a la BD como de forma local, pero realmente SSH estaría enviando toda la info al puerto en la máquina remota... qué fácil ah? Veamos cómo podría resolver el problema que he comentado.
$ ssh -NL 1234:localhost:5432 a@example.com & $ psql -h localhost -p 1234 mydb myuser
El primer comando, crea una conexión SSH entre los puertos local 1234 y remoto 5432 (opción -L) para el usuario a del servidor (example.com). Utilizo la opción -N para que no sea iniciada una consola remota y &.para que el proceso quede en background.
Luego, inicio una conexión con la BD como si fuese local para el usuario myuser y la BD mydb.
Aja! yo como que recuerdo algo de ese tunneling :)
ResponderEliminarAhhh qué biennnn!
ResponderEliminar