簡體   English   中英

如何將X11轉發到運行在遠程linux主機上的虛擬機?

[英]How to do X11 forwarding to a virtual machine running on a remote linux host?

我在遠程linux主機上運行虛擬機:

我的機器-> linux主機->在linux主機上運行的虛擬機

我在Linux主機和虛擬機上啟用了X11轉發。 我試圖在使用ssh命令(使用ssh -X)啟動的我自己的計算機上的虛擬機上運行JVisualVM。

我正在使用的ssh命令是:

ssh -X -t root@linux_host -L 29998:localhost:29999 ssh -X -t -i /root/.ssh/my_key user@virtual_machine -L 29999:localhost:9999

連接后,我將顯示變量設置為:

DISPLAY=<my machine's ip address>:0.0

然后,我以此運行JVisualVM,期望在我自己的機器上打開該窗口:

/usr/java/jdk1.7.0_95/bin/jvisualvm -cp:a /opt/jboss/bin/client/jboss-cli-client.jar --jdkhome /usr/java/jdk1.7.0_95/

但是我收到未設置顯示的錯誤,或者JVisual幾秒鍾后退出,錯誤代碼為2。

由於您使用的是ssh -X您顯然希望通過ssh -X使用安全的X轉發。 在這種情況下,ssh souled為您設置了DISPLAY變量,您不應通過手動設置DISPLAY覆蓋它。 如果ssh未設置DISPLAY則意味着ssh服務器設置已禁用X轉發(無論出於何種原因),並且應盡可能解決此問題。

如果您不想(或不能)使用ssh X轉發,則可以使用直接連接(通過在進行操作時設置DISPLAY ),但是您還需要打開計算機上的X服務器以進行遠程連接。 您可以在本地計算機上使用xhost進行此操作:

xhost <linux host address>

但是請注意,這將使您的本地計算機向所有人開放,並具有該Linux主機的訪問權限,或者誰可以欺騙該主機地址(這意味着幾乎每個地方的所有人,除非您和Linux計算機都在防火牆內),所以這不是好主意。

嘗試添加

X11UseLocalHost否

/ etc / ssh / sshd_config

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM