Mi situación: quiero depurar de forma remota mi aplicación C++ con gdbserver y eclipse. Eclipse se ejecuta en mi estación de trabajo local (en la red 192.168.0.0) y gdbserver se ejecuta en una máquina de clúster en la red 10.0.0.0. Tengo acceso ssh a la máquina del clúster a través de una máquina que está en ambas redes.
¿Cómo puedo configurar un túnel para que mi eclipse pueda acceder al gdbserver? No tengo derechos de administrador/acceso root/sudo.
Todas las máquinas son Linux/Unix con openssh.
Respuesta1
Confío en que ya pueda acceder mediante SSH a un sistema en la red privada remota (10.0.0.0). Si su sistema local ejecuta openssh, agregue a su $HOME/.ssh/config
:
Host gatewaymachine
LocalForward 12080 remote_ip:portnum
Donde 'remote_ip' es la dirección IP del sistema clustermachine remoto donde se ejecuta gdbserver y portnum es el puerto en el que escucha. SSH a la máquina de puerta de enlace, luego conecte su aplicación al host local, puerto 12080. Por ejemplo, si se trata de una aplicación web
http://localhost:12080
Si no está utilizando una aplicación web, deberá configurar la información de su conexión para reflejar que va al puerto 'localhost' '12080' (o cualquier puerto que desee, consulte a continuación).
En lugar de editar su configuración ssh, también puede usar los parámetros del comando ssh:
ssh -L 12080:remote_ip:portnum gatewaymachine
(cambie 12080 a cualquier puerto que desee por encima de 1024; por debajo de 1024 y necesitará acceso de root para vincularse al puerto)
Respuesta2
Básicamente, lo que dijo jtimberman :). Quizás quieras investigarautosshsi tiene problemas para mantener su túnel en funcionamiento durante períodos prolongados.