Tengo máquinas A
y B
eso puede acceder a una Relay
máquina a través de ssh, pero no al revés. ¿Puedo acceder a la máquina B
a A
través de la Relay
máquina sin abrir puertos, excepto 22
que ese puerto sea el único al que se puede acceder?
Por ejemplo, una posible solución sería ssh
abrir B
archivos Relay
para leerlos stdin
y escribirlos stdout
. La conexión desde A
a relay
permite leer y escribir en estos archivos para comunicarse con B
.
¿Hay alguna manera con las herramientas de línea de comandos de lograr esto?
Respuesta1
Bueno, obviamente ya hay un puerto abierto en el relé; de lo contrario, ssh no sería posible.
La única forma que veo es que B se conecte al relé y, junto con eso, abra un túnel inverso que A luego pueda usar. Estás buscando la opción "-R".
Respuesta2
Aquí hay una forma:
- ssh A para retransmitir y reenviar un puerto local (por ejemplo,
ssh -L 6022:127.0.0.1:6022
) Este comando reenvía el puerto local 6022 en A al puerto 6022 en retransmisión a través de SSH. - ssh B para retransmitir y reenviar un puerto remoto al local (
ssh -R 6022:127.0.0.1:22
) Este comando reenvía el puerto remoto 6022 en retransmisión al puerto local 22 en B - Ahora en A, conéctese al puerto localhost 6022 usando ssh y debería poder iniciar sesión en B.