理解 ssh X11 转发

n0p*_*0pe 4 ssh virtual-machine xforwarding x11 container

我有一个相当奇怪的设置,我正在尝试开始工作。

我有一个在容器中运行的 Ubuntu 安装(通过 Proxmox)。主机是 CentOS。两台服务器都没有运行 X 实例。

我的主机已物理插入显示器。我的最终目标是能够ssh -X从主机到容器并运行,xbmc以便它显示在我的监视器上。

关于这个设置的一些问题:

  • 我也需要X安装在主机上对吗?
  • 究竟什么是“显示”(如:0:1),我是否需要设置它们?
  • 我正在尝试做的可能吗?

Mic*_*mer 5

  • 我也需要在主机上安装 X,对吗?

您需要安装在主机上的X服务器,这将需要运行。您将需要容器中的一些 X 客户端库(安装xbmc可能会将它们作为依赖项引入),但不需要 X 服务器。

  • 究竟什么是“显示”(如 :0 和 :1),我是否需要设置它们?

显示是由特定服务器管理的不同(假设)屏幕,DISPLAY环境变量告诉 X 客户端如何连接。ssh -X自动设置;你不需要做任何事情

可以在完全不涉及的情况下做到这一点ssh,本机使用 X。在这种情况下,您需要进行DISPLAY适当的设置。除了通过加密连接降低资源成本之外,在这些情况下对您来说没有特别的优势。

如果您不是ssh从主机的 X 服务器环境内部运行命令,则需要DISPLAY=:0在该端显式设置(或类似)以便ssh可以看到它。

  • 我正在尝试做的可能吗?

是的,这几乎就是 X 协议的目的。


您应该检查和选项的man ssh详细信息,-X以及-Y选项man ssh_config的详细信息ForwardX11Trusted。在您的情况下,安全问题可能并不真正适用,但请检查并确保。

特别是,ssh -Y在某些配置中具有更高的成功率,但允许远程端不受限制地访问您的 X 服务器,同时ssh -X防止许多此类访问并强制认证在短时间内过期。X 协议不是非常安全,例如,具有不受限制访问权限的客户端可以记录每个其他客户端的每个按键。