我有主机A,B和C.从主机A我只能通过ssh访问B.从B我可以访问C.
我希望能够在C上运行X11程序并将
显示转发到A.
我试过这个:
A$ssh -X B
B$ssh -X C
C$xclock
Error: Can't open display:
但它不起作用.
有几种
方法可以做到这一点,我更喜欢转发ssh端口:
首先,连接到机器B并将[localPort]转发到C:22到B
A$ssh -L [localPort]:C:22 B
接下来,使用[localPort]通过这个新创建的隧道从A连接到C,转发X11
A$ssh -X -p [localPort] localhost
现在我们可以在C上运行X11程序并将它们显示在A上
C$xclock
[localPort]可以是你没有在A上听过的任何端口,为了简单起见,我经常使用2222.