如何最好地設定 ssh 隧道來存取遠端網路 (Linux)

如何最好地設定 ssh 隧道來存取遠端網路 (Linux)

我的情況:我想使用 gdbserver 和 eclipse 遠端偵錯我的 C++ 應用程式。 Eclipse 在我的本機工作站(在 192.168.0.0 網路中)上運行,gdbserver 在 10.0.0.0 網路中的叢集機器上運行。我可以透過兩個網路中的機器透過 ssh 存取集群機器。

如何設定隧道以便我的 Eclipse 可以存取 gdbserver?我沒有管理員權限/root/sudo 存取權限。

所有機器都是帶有 openssh 的 linux/Unix。

答案1

我相信您已經可以透過 SSH 連接到遠端專用網路 (10.0.0.0) 上的系統。如果您的本機系統正在執行 openssh,請新增到您的$HOME/.ssh/config

Host gatewaymachine
  LocalForward 12080 remote_ip:portnum

其中「remote_ip」是 gdbserver 運行的遠端叢集機器系統的 IP 位址,portnum 是它偵聽的連接埠。 SSH 到 gatewaymachine,然後將您的應用程式連接到本機主機、連接埠 12080。

http://localhost:12080

如果您不使用 Web 應用程序,則需要設定連接資訊以反映您要存取“localhost”端口“12080”(或您喜歡的任何端口,請參見下文)。

您也可以使用 ssh 命令參數,而不是編輯 ssh 配置:

ssh -L 12080:remote_ip:portnum gatewaymachine

(將 12080 更改為高於 1024 的任意連接埠;低於 1024,則需要 root 存取權限才能綁定到該連接埠)

答案2

基本上,jtimberman 說的:)。您可能想了解一下自動SSH如果您無法長時間保持隧道運作。

相關內容