reenvío de puertos de túnel ssh

reenvío de puertos de túnel ssh

Tengo tres computadoras, A, B, C. A es la computadora en la que estoy trabajando, C es la computadora remota a la que me gustaría acceder. Sin embargo, solo se puede acceder a C a través de B. Solo B tiene un servidor ssh y solo A tiene un cliente ssh.

¿Qué comando debo usar (preferiblemente en A) para poder conectarme a C (puerto 80) a través de B? Por ejemplo, B debería reenviar todo el puerto entrante 12345 a C:80.

Sé que esta es una pregunta común y encontré un montón de comandos en Google, pero ninguno parecía funcionar.

Una vez configurado, se supone que debo usar localhost:5678 en A, que se conecta a B:1234 y luego reenvía a C:80.

Gracias.

Respuesta1

Puede ser que el sshddemonio esté configurado para no permitir el reenvío de puertos a otras máquinas o para no permitir el reenvío de puertos en absoluto. De todos modos, el comando correcto a emitir para Aacceder Cal puerto 80 es el siguiente:

ssh -L localhost:5678:<ip-or-name-of-C>:80 <ip-or-name-of-B>

Una vez establecida la sshsesión, se conecta a localhost:5678 para conectarse a C:80. Si desea que cualquier conexión entrante al host A:5678 se reenvíe a C:80, elimínela localhost:del comando anterior.

Si el reenvío de puertos a otros hosts está deshabilitado en B, entonces puede probar el encadenamiento, descritoaquí

información relacionada