![使用 Windows 主机和 Windows 服务器进行 X11 转发](https://linux22.com/image/1557230/%E4%BD%BF%E7%94%A8%20Windows%20%E4%B8%BB%E6%9C%BA%E5%92%8C%20Windows%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9B%E8%A1%8C%20X11%20%E8%BD%AC%E5%8F%91.png)
我知道有很多关于 X11 转发的问题,但它们似乎从未解决 Windows 客户端到 Windows 服务器的设置问题,所以我开始怀疑这是否可能。
我花了很长时间尝试使用 Putty 从 Windows 10 客户端连接到安装了 OpenSSH 的 Windows 7 服务器时使 X11 转发正常工作。我的第一步是在我的 Windows 7 服务器上安装 OpenSSH,然后使用 Putty 从我的 Windows 10 客户端连接到它。所有这些都没有问题。现在的目标是让我的服务器上启动的 GUI 程序显示在我的客户端上。我的步骤如下:
- 在我的客户端上安装并运行 Xming。
在我的服务器上编辑 OpenSSH-install-location\sshd_config_default 并添加:
X11Forwarding yes X11DisplayOffset 10 X11UseLocalHost no
在我的服务器上重新启动 OpenSSH
- 使用 Putty 连接到服务器,确保选中连接 > SSH > X11 > 启用 X11 转发。我还尝试了 X 显示位置:localhost:0 并将 DISPLAY 环境变量设置为 127.0.0.1:0,正如许多论坛所建议的那样。
- 连接后,输入“notepad”即可调出我的记事本应用程序。记事本未在我的客户端上出现。我的客户端上没有任何反应,但我可以验证记事本进程是否在我的服务器上运行。
客户端的事情似乎很简单,所以我相信服务器有问题。所有的演练都要求你转到 /etc/ssh/ 并编辑 config_default 文件。我在 Windows 机器上,所以这个不存在,但我认为等价的应该是 OpenSSH 安装位置\sshd_config_default。
需要注意的一些事情是,在我输入 notepad 后,Xming 显示“当前有 0 个客户端连接”,而 sshd_config_default 中没有关于已定义 X11 的任何信息。我必须添加所有内容,这让我相信这个 Windows OpenSSH 可能不支持 X11 转发?
Windows -> Windows SSH 是否可以使用 X11 转发?如果可以,我是否需要一个可以支持它的 Windows SSH 服务器,或者这里还有其他问题?
谢谢!!
答案1
根据“不支持”部分: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration
“Windows Server 2019 和 Windows 10 1809 中附带的 OpenSSH 版本不提供以下配置选项:”
- 很多东西
- ...
- X11转发
因此,Windows 的默认 OpenSSH 服务器不支持 X11 转发。我目前还不知道有任何非官方的 Windows OpenSSH 服务器支持 X11 转发。
编辑:我认为同样适用于 Windows 7 OpenSSH 服务器。