如何使用 xhost/xauth 控制从 EC2 到 cygwinX 的 X11 访问

Posted

技术标签:

【中文标题】如何使用 xhost/xauth 控制从 EC2 到 cygwinX 的 X11 访问【英文标题】:How to use xhost/xauth to control X11 access from EC2 to cygwinX 【发布时间】:2016-08-21 05:45:29 【问题描述】:

我必须在这里遗漏一些非常简单的东西:

我正在从我的 Cygwin/X Windows 桌面连接到 RedHat 7 Enterprise EC2 实例。我使用ssh -XYg -i kekfile.pem user@123-amazonaws.com 连接。然后我export DISPLAY=:10.0

只要我在客户端这样做就可以正常工作:xhost +

但这似乎有点冒险,因为它会让我网络上的任何东西都连接到我的本地 X11 服务器。你怎么能使用xhostxauth(或其他东西?)只允许一个 ssh 会话使用我的本地 X11 服务器?

【问题讨论】:

不需要设置DISPLAY。如果 ssh 成功转发 X,它会为你设置一个合适的 DISPLAY。也不需要运行“xhost +”。为什么你觉得有必要这样做? 我就是这么想的。但是,如果我只是 ssh 到 EC2 主机上并运行 X 程序,我会得到:xterm: Xt error: Can't open display: xterm: DISPLAY is not set 【参考方案1】:

好的,我意识到我是在倒退。希望这将有助于任何想要托管 EC2 机器的 CygwinX 用户:

    在开始 ssh 会话之前export DISPLAY=:0.0 只需在 ssh 中使用 -Y 标志 打开 ssh 隧道后,不要设置 DISPLAY。它会自动为您设置。

然后您可以在 CygwinX 端设置xhost -,隧道连接仍然可以正常工作。

【讨论】:

以上是关于如何使用 xhost/xauth 控制从 EC2 到 cygwinX 的 X11 访问的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的 EC2 实例调用 AWS Lambda 函数?

如何设置从 AWS EC2 实例到 *** 的连接?

如何创建 IAM 策略以根据子网名称标签控制对 Amazon EC2 资源的访问?

如何从 Amazon EC2 实例中找出“公共 DNS 名称”?

为啥从我的 Windows EC2 实例发送的 CloudWatch Logs 没有显示在 AWS 控制台上?

如何从 EC2 下载文件 [关闭]