我的情况:我想用gdbserver和eclipse远程debugging我的c ++应用程序。 Eclipse正在本地工作站上运行(在192.168.0.0networking中),而gdbserver正在10.0.0.0networking中的群集机器上运行。 我通过两台networking中的机器可以访问cluster machine。
我怎样才能build立一个隧道,使我的eclipse可以访问gdbserver? 我没有pipe理员权限/ root / sudo访问权限。
我相信你已经可以通过SSH连接到远程专用networking(10.0.0.0)上的一个系统。 如果您的本地系统运行openssh,请添加到您的$HOME/.ssh/config :
Host gatewaymachine LocalForward 12080 remote_ip:portnum
其中“remote_ip”是运行gdbserver的远程clustermachine系统的IP地址,portnum是其侦听的端口。 SSH到gatewaymachine,然后将您的应用程序连接到localhost,端口12080.例如,如果这是一个Web应用程序
http://localhost:12080
如果您不使用Web应用程序,则需要设置连接信息以反映您要“localhost”端口“12080”(或任何您喜欢的端口,请参阅下文)。
而不是编辑你的sshconfiguration,你也可以使用ssh命令参数:
ssh -L 12080:remote_ip:portnum gatewaymachine
(将12080更改为1024以上的任何端口;低于1024则需要root访问权限以绑定端口)
基本上,jtimberman说:)。 如果您在长时间保持隧道时遇到问题,您可能需要查看autossh 。