Red de conocimiento informático - Problemas con los teléfonos móviles - Funciones avanzadas de SSH: reenvío remoto de puertos

Funciones avanzadas de SSH: reenvío remoto de puertos

En el escenario del puerto local, es posible establecer una conexión SSH desde el servidor B al servidor A, pero ¿qué pasa si no hay conexión del servidor B al servidor A, solo una conexión del servidor A al servidor? ¿B? (Por ejemplo, la máquina de desarrollo puede acceder al servidor, pero el servidor generalmente no puede acceder a la máquina de desarrollo local)

Supongamos que la IP del servidor A es 192.168.58.101 y la IP del servidor B es 192.168.58.103

Ejecute el siguiente comando en el Servidor A:

Ejecute el comando anterior en el Servidor A

El comando anterior establece el reenvío y transferencias de puertos remotos 9906 en el servidor remoto Servidor-B Todos los datos del puerto se reenvían al puerto 3306 192.168.58.101 en el Servidor-A

Ejecute el comando en el Servidor-B

Puede conectarse a el servidor MySQL en el Servidor-A

Puede conectarse al servidor MySQL en el Servidor-A

Puede usar el comando "servidor MySQL" en el servidor remoto para conectarse al servidor MySQL servidor en el Servidor-A.

El reenvío de puertos local y el reenvío de puertos remotos se pueden utilizar juntos para implementar el reenvío en cadena. Supongamos que el host A está en el trabajo, el host B está en casa y el host C es un host remoto en la nube. El servicio Node.js de la sección anterior se ejecuta en el host A y necesita acceder al servicio en el host B. Dado que A y B no están en la misma red y el host A no tiene una dirección IP pública separada, no hay acceso directo al servicio.

Una solicitud enviada al puerto 4000 del host B se reenviará a través del puerto local al puerto 3000 del host remoto en la nube C.

Con el reenvío de puerto remoto, una solicitud enviada al puerto 3000 del host C remoto en la nube se reenviará al puerto 2000 del host A.

De esta manera, el servicio en el host A puede acceder al host B a través de http://localhost:4000.