Ssh

如何設置雙 SSH 隧道,以便防火牆後面的兩台機器 A 和 B SSH 進入中央伺服器,以便 A 可以 VNC 進入 B?

  • April 20, 2020

我需要通過 VNC 從我的機器 A 連接到屬於我朋友 B 的另一台機器。我們倆都無法打開傳入埠 - 除非您購買基於靜態 IP 的商業計劃,否則 ISP 不允許隧道。兩者都是linux系統順便說一句

我們有一個具有完全訪問權限的 Web 伺服器,我們都可以通過 ssh 進入。我們如何設置從任一端到伺服器的隧道以便 VNC 工作?

我知道如何在兩個系統之間建立一個 ssh 隧道,我相信通過首先在 A 到 B 然後在 B 到 C 上執行 ssh 來實現 A->B->C 並不難

但我需要 A->C 和 B->C 而不是 A->B 和 B->C

基本上我認為我需要一個代理伺服器——這可以通過 SSH 甚至某種 linux 網路魔法來完成嗎?

假設 C 是你們(A:您和 B:您的朋友)都可以訪問的網路伺服器。

C 的設置:將 gatewayports yes 添加到配置

vim /etc/ssh/sshd_config

在底部添加“GatewayPorts yes”,以便遠端主機將偵聽 0.0.0.0 介面而不是 127.0.0.1 介面

網關埠 是

B的設置:將本地主機的“port2”轉發到遠端主機(C)的“port1”

ssh -i auth.pem -R 0.0.0.0:port1:localhost:port2 xxx@xxx.xxx.xxx

A的設置:不需要轉發。

您現在可以使用 VNC 連接到 C 的埠 2,同時實際查看 B 的螢幕。

引用自:https://serverfault.com/questions/1012982