我的情况:我想用 gdbserver 和 eclipse 远程调试我的 c++ 应用程序。Eclipse 在我的本地工作站(在 192.168.0.0 网络中)上运行,而 gdbserver 在 10.0.0.0 网络中的 clustermachine 上运行。我可以通过两个网络中的机器对 clustermachine 进行 ssh 访问。
如何设置隧道以便我的 Eclipse 可以访问 gdbserver?我没有管理员权限/root/sudo 访问权限。
所有机器都是带有openssh的linux/Unix。
我相信您已经可以通过 SSH 连接到远程专用网络 (10.0.0.0) 上的系统。如果您的本地系统正在运行 openssh,请添加到您的
$HOME/.ssh/config
:其中'remote_ip'是gdbserver运行的远程clustermachine系统的IP地址,portnum是它监听的端口。SSH 到 gatewaymachine,然后将您的应用程序连接到 localhost,端口 12080。例如,如果这是一个 Web 应用程序
如果您不使用 Web 应用程序,则需要设置连接信息以反映您将访问“localhost”端口“12080”(或您喜欢的任何端口,见下文)。
除了编辑 ssh 配置,您还可以使用 ssh 命令参数:
(将 12080 更改为高于 1024 的任何端口;低于 1024 并且您需要 root 访问权限才能绑定到该端口)
基本上,jtimberman 所说的 :)。如果您无法长时间保持隧道正常运行,您可能需要研究autossh 。