¿En qué servidor debo ejecutar el comando de reenvío de puerto ssh?

¿En qué servidor debo ejecutar el comando de reenvío de puerto ssh?

Tengo una Macbook A, un servidor público B(public IP: 1.2.3.4, internal IP: 10.0.0.2), un servidor interno.C(internal IP: 10.0.0.3)

APuede conectarse Bmediante la IP pública de B y Bpuede conectarse Cmediante la IP privada de C, pero Ano puede conectarse directamente aC

Ahora quiero conectarme C:2345desde A, así que creo que puedo reenviar puertos B:1234=>C:2345.

¿Qué comando debo ejecutar y en qué servidor debo ejecutar?

Lo intenté:

ssh -NfR 1234:localhost:2345 10.0.0.3
ssh -L 1234:0.0.0.0:2345 10.0.0.3

Ninguno de los dos funciona.

Respuesta1

Hacerexactamentelo que solicitó ( B:1234=>C:2345) esto debe ejecutarse en B:

# Not recommended. Read along.
ssh -NgL 1.2.3.4:1234:localhost:2345 10.0.0.3

También requiere abrir el 1234puerto en Bel firewall. Luego conéctese 1.2.3.4:1234desde el exterior para llegar 10.0.0.3:2345como si se estuviera conectando desde Csí mismo (a través de su interfaz loopback). Cualquiera puede conectarse, así que tenga esto en cuenta si el servidor C(cualquiera que sea) no está protegido con contraseña o algo así.


Una forma más fácil y mucho más segura de llegar desde Aa Ces la siguiente. No hace exactamente lo que usted solicitó, pero probablemente sea lo que desea. En A:

ssh -NL 1234:10.0.0.3:2345 1.2.3.4

Luego conéctese a 127.0.0.1:1234on Apara llegar al puerto 2345en C. CVerá el tráfico que llega desde B. Esta conexión Asólo está disponible para, por lo que el método es mucho más seguro que el anterior.

Si desea permitir que otras computadoras (por ejemplo, desde la LAN donde Aestá) se conecten, debe usar -gla opción y especificar la dirección de enlace. P.ej:

ssh -NgL A_LAN_address_here:1234:10.0.0.3:2345 1.2.3.4

En este caso, reconfigure el firewall en Aconsecuencia y luego conéctese a A_LAN_address_here:1234.

Respuesta2

En Mac lo primero que haces

ssh -L2345:10.0.0.3:2345 10.0.0.2

Esto abre un puerto local 2345 en su Mac que es una conexión directa a :2345 en 10.0.0.3

Luego simplemente accedes 127.0.0.1:2345en tu Mac. Todo lo que vaya a este puerto será tunelizado a través de ssh e irá a 10.0.0.3:2345. Para ese servidor, parecerá que proviene de 10.0.0.2.

información relacionada