encadenamiento de reenvío de puertos ssh tcp

encadenamiento de reenvío de puertos ssh tcp

Necesito conectarme a un servidor de base de datos que acepte conexiones en el puerto 1521, solo puedo acceder a esto desde una máquina remota a la que necesito acceder mediante sshotropuerta.

es decir desde casa

inicio $ ssh usuario@puerta de enlace

puerta de enlace $ ssh de escritorio

escritorio $ < Ahora tengo acceso al puerto 1521 en el servidor db del host >

¿Cuáles son los comandos que necesito usar para esto, para luego conectarme a localhost:1521 en la PC de casa para conexiones de base de datos?

Respuesta1

Dos formas de encadenar:


  1. Conéctate desdehogarapuerta, reenvío localhost:1521enhogara través depuertaa .localhost:PORT

  2. Conéctate desdepuertaaescritorio, reenvío enlocalhost:PORTpuertaa través deescritorioa dbserver:1521.

inicio$ ssh -ftL 1521:localhost:PUERTOpuerta de enlace ssh -NLPUERTO:dbserver:1521 escritorio

PUERTOpuede ser 1521 o cualquier otro puerto.


  1. Conéctate desdehogarapuerta, reenvío enlocalhost:PORThogara través depuertaa desktop:22.

  2. Conéctate desdehogaraescritorioutilizando el túnel establecido a travéspuerta, reenvío localhost:1521enhogara través deescritorioa dbserver:1521.

inicio$ ssh -fNLPUERTO:escritorio:22 puerta de enlace
inicio$ ssh -fNL 1521:dbserver:1521 -o "HostkeyAlias=escritorio" -PPUERTOservidor local
La conexión DB se puede realizar ahora

(Las -fNopciones le indican a SSH que se conecte, establezca túneles y luego continúe ejecutándose en segundo plano).


El segundo método es más útil, ya que permite llegarescritoriodirectamente desdehogar(utilizando el túnel corriente) para todo tipo de conexiones.

información relacionada