Ya no necesitas investigar más por otros sitios ya que estás al espacio indicado, contamos con la solución que necesitas sin problemas.
Solución:
Sí, si lo entiendo correctamente, el reenvío de puerto local de a a b debería ser idéntico al reenvío de puerto remoto de b a a (y viceversa). Un túnel de salida de a a b (visto desde a) debe ser igual a un túnel de entrada de a a b (visto desde b).
Reenvío de puertos locales crea un extrovertido túnel que se puede usar para llevar una computadora pública de Internet a una máquina local. Un usuario local puede acceder a una combinación de host:puerto remoto en un host local, porque el puerto dado en el host local (cliente) se reenvía al host y puerto dados en el lado remoto:
ssh -L local_port:remote_host:remote_port [email protected]
Reenvío de puerto remoto crea un entrante túnel que se puede usar para llevar una computadora local a la Internet pública. Un usuario de Internet puede acceder a una cierta combinación local de host:puerto en un host remoto. El puerto dado en el host remoto (servidor) se reenvía al host y puerto dados en el lado local:
ssh -R local_port:remote_host:remote_port [email protected]
Con el reenvío de puerto local, usted (el cliente) abre un conector de escucha en su computadora y conecta su cliente de protocolo de nivel de aplicación a este conector. Ahora la conexión se reenvía por SSH al servidor. El servidor se conecta al host remoto y canaliza los datos desde su cliente de protocolo hasta el destino final.
Con el reenvío de puertos remotos, el servidor abre un socket de escucha en el host del servidor. Algunas aplicaciones remotas se conectan a este host y envían información que se transfiere a su computadora cliente. Aquí se establece la conexión con el destino final (algún servidor de protocolo de nivel de aplicación que se ejecuta en su computadora o en su red) y los datos se transfieren desde la aplicación remota al destino final.
La principal diferencia práctica es que si conecta 2 computadoras A y B, y B está detrás de un firewall o enrutador NAT que no controla, y está bloqueando la entrada… Está sentado en A. No puede obtener A para conectarse a B. Pero B no bloqueará los mensajes salientes. Así que B se conecta a A.
–agregado aclaración–
Lo anterior, que el interrogador entendió… significa la principal diferencia práctica entre el reenvío local y remoto. ssh -L y ssh -R cuando usaría cada uno. No estaba comentando los comandos de ejemplo específicos que dio, donde cambia -L y -R, y a qué servidor sshd se conecta. Pero ahora intentaré comentarlo. Con los comandos ssh que dio, desde la perspectiva del cliente normal y el servidor normal, parece que no hay diferencia, ya que no dice “ah, este es un cliente ssh y este es un servidor ssh …” no conoce ssh , y cuál es el aspecto cliente/servidor de ssh es irrelevante y desconocido para el cliente normal y el servidor normal también. Solo les importa quién está escuchando y, desde su perspectiva, parece lo mismo. La computadora del trabajo está escuchando y en 1234. No notan que en un caso es un servidor ssh sshd.exe, y en el otro caso es un cliente ssh ssh.exe. Por cierto, donde está el cliente ssh, se considera local.
Si crees que ha resultado de provecho este artículo, te agradeceríamos que lo compartas con otros juniors de este modo nos ayudas a dar difusión a nuestro contenido.