![在 Windows > Linux 服务器 1 > Linux 服务器 2 之间转发 X11](https://linux22.com/image/713527/%E5%9C%A8%20Windows%20%3E%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%201%20%3E%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%202%20%E4%B9%8B%E9%97%B4%E8%BD%AC%E5%8F%91%20X11.png)
我遇到了这个问题...
我的机器是 Windows(S1),需要连接到 Linux 服务器(S2)[像跳转箱一样使用],然后再连接到 Linux 服务器(S3),也就是目标机器。
我已将 Putty 和 Xming 配置好,因为我可以在 S2 上打开 Firefox 浏览器;但当我通过 SSH 连接到 S3 时,我无法在那里打开任何 X 应用程序。我安装了 xclock 以便可以对其进行测试,然后我收到了以下消息:
错误:无法打开显示
我的程序是:Windows >putty> LinuxS2 >SSH> LinuxS3。可以在 Linux S2 上打开 X 应用程序,但不能在 Linux S3 上打开。
Windows 和 Linux S3 之间的网络不同,这就是 Linux S2 存在的原因。
答案1
在您的 Putty 会话中:
1)您需要启用连接 => SSH => X11 转发
2)在连接 => SSH => 远程命令中使用 -X 选项调用 ssh 到 S3,例如: ssh -X user@S3
在 S2 和 S3 中,/etc/ssh/sshd_config 需要将 X11Forwarding 设置为 yes。(更改时请重新启动 sshd)。
DISPLAY 应设置为从 S3 的 sshd_config 中的 X11DisplayOffset 值开始的值。
希望这能够让它发挥作用。