
Hay 3 computadoras:
- máquina local (osx)
- servidor1 (centos 7 en el puerto 22 del centro de datos abierto)
- server2 (centos 7 cerrado detrás de nat)
El servidor2 mantiene un túnel inverso al servidor1 en el puerto 2222. La ejecución ssh localhost -p 2222
en el servidor1 va directamente a la línea de comando del servidor2.
¿Cuál es la mejor manera de configurar un túnel desde la máquina local a través del servidor1 al servidor2? Por ejemplo, es posible iniciar un túnel desde localhost al servidor1 usando ssh -D 5000 -N root@server1
.
¿Cómo hacer el salto adicional y hacer que el túnel pase desde el host local al servidor1 y al servidor2? Probé este tipo de cosas ssh -L 5000:localhost:5000 root@server1 ssh -L 5000:server2:2222 -N root@localhost
pero no funcionó.
por ejemplo, localhost -5000-> servidor1 -2222-> servidor2
Respuesta1
Al hacer el túnel inverso, vinculó localhost:2222 en el servidor1 al servidor2. Le recomendaría que ahora cree un túnel en algún número de puerto de su máquina OSX local al servidor1 (seleccioné 9999 en este ejemplo), solo para acceder al túnel inverso que creó antes, es decir,
ssh -L 9999:localhost:2222 root@server1
Déjelo abierto para que tenga su doble salto al servidor 2 listo para usar. A continuación, en una terminal separada, debería poder hacer
ssh -p 9999 root@localhost
y obtener acceso al servidor2. Por razones de seguridad, recomiendo no utilizar root para conexiones SSH.