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 sshd
demonio 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 A
acceder C
al puerto 80 es el siguiente:
ssh -L localhost:5678:<ip-or-name-of-C>:80 <ip-or-name-of-B>
Una vez establecida la ssh
sesió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í