Ssh

兩台遠端機器之間的 X11/X 轉發

  • September 6, 2016

假設有 3 台機器,A、B、C。B 和 C 在同一個網路上,而 A 是遠端的。B、C 之間的連接非常快,但從 A 到(B 或 C)的任何連接都很慢。

我想在 C 上執行涉及圖形輸出的計算密集型作業(即從 MATLAB 生成 png 文件)。如果我從 A -> B -> C 進行 SSH,X11 輸出顯示在 A 上。我想從 A -> B 進行 SSH 並在 C 上執行相同的計算,但將所有圖形輸出限制在 B,以便緩慢的 A -> B 連接不會使工作永遠進行(這就是我現在正在發生的事情)。這可能嗎,如果可以,我應該如何設置它?

作業系統:A 是 OSX,B 是 Ubuntu,C 是 CentOS(計算集群的一部分)。

好吧,如果我過度簡化了,請原諒我,但最簡單的解決方案不是從 A SSH 到 B(沒有 X11 轉發),然後從 B 到 C SSH(有 X11 轉發)。如果你需要圖形界面開始作業,您可以首先為從 A 到 B 的連接啟用 X11 轉發選項,然後斷開連接(A 從 B,但不是 B 從 C)並通過禁用 X11 的 SSH 監視作業作業開始後連接。

聽起來您預設啟用並啟用了 X11 轉發,因此您應該能夠在使用以下行重新 ssh 時將其關閉:

ssh user@hostB -o “ForwardX11=no”

編輯:當然,這假設您能夠啟動從 B 到 C 的 X11 轉發 ssh 會話。是這樣嗎?如果沒有,您能否發布用於啟動隧道會話的線路?老實說,這可能會變得複雜,具體取決於您的詳細資訊。

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