Linux
如何通過附加伺服器啟用 SSH X11 轉發?
我有主機 A、B 和 C。從主機 AI 只能通過 ssh 訪問 B。從 BI 可以訪問 C。我希望能夠在 C 上執行 X11 程序並將顯示轉發到 A。
我試過這個:
$ ssh -XB B$ ssh -XC 加元 xclock 錯誤:無法打開顯示:
但它不起作用。
有幾種方法可以做到這一點,我更喜歡的一種是轉發 ssh 埠:
首先,連接機器B並轉發
$$ localPort $$通過 B 到 C:22
A$ ssh -L [localPort]:C:22 B
接下來,使用這個新創建的隧道從 A 連接到 C
$$ localPort $$, 轉發 X11
A$ ssh -X -p [localPort] localhost
現在我們可以在 C 上執行 X11 程序並讓它們在 A 上顯示
C$ xclock
$$ localPort $$可以是您尚未在 A 上監聽的任何埠,為了簡單起見,我經常使用 2222。
這可以使用埠轉發輕鬆完成:
A$ ssh -NL 2022:C:22 B & A$ ssh -X -p 2022 localhost C$ xclock
埠 localhost:2022 通過 B 轉發到 C:22 SSH 到 C 通過 localhost:2022 正常使用 X