2 个用户都使用相同的 id 登录 Linux 盒子。 X11 转发适用于其中一个,而不适用于另一个 我们尝试了 putty 和 mobaxterm。我们认为我们验证了两个用户之间的所有选项。 putty 和 mobaxterm 中的所有设置在 2 个用户之间看起来都相同。但 x11 转发适用于其中一个,而不适用于另一个。
答案1
如果您在远程主机上手动设置 DISPLAY 变量,您将使用老式的未加密网络 X11。它可能比 SSH 转发的 X11 快一点,但完全没有任何有意义的安全性。如果这样做,您将必须自己处理任何 X11 身份验证,方法是获取从本地工作站传递到远程主机命令的 X11 会话 cookie xauth
,或者在本地工作站上禁用 X11 身份验证(在类 UNIX 系统上,这通常意味着使用xhost
命令;在 Windows X11 显示服务器上可能有一个 GUI 用于此操作)。
在此模式下,远程主机上的 X11 应用程序需要能够解析DISPLAY
变量中的主机名,以便远程应用程序能够联系本地工作站,并且任何介入的网络防火墙必须允许从远程主机到本地工作站的连接。本地工作站的 TCP 端口(6000 + DISPLAY 编号)。如果其中任何一个失败,远程主机将不会显示 X11 图形。除了远程 X11 应用程序的初始启动之外,SSH 连接根本不会涉及 GUI。
当实际使用 SSH X11 转发时,远程主机上的 DISPLAY 变量应该自动设置为类似的值localhost:10.0
(数字部分可能会有所不同,但第一个数字通常等于或大于 10)。当您配置 SSH 客户端请求 X11 转发时,sshd
远程主机上的服务器将创建一个 X11 代理,该代理将在本地侦听 X11 连接,并将 SSH 加密隧道内的连接转发到本地工作站,SSH 客户端将在本地工作站通过将其连接到本地 X11 显示服务器软件。 X11 会话 cookie 也将由 SSH 客户端和服务器自动处理sshd
。