打开一个经过许多步骤(SSH、vpn 等)的 X 应用程序

打开一个经过许多步骤(SSH、vpn 等)的 X 应用程序

玩家们:

  • 我的家用电脑,运行 Linux,并运行 X 服务器。(称之为 HOME。)
  • 一个远程站点,我可以使用 VPN 通过互联网连接到该站点。(站点)
  • 远程站点上的 Linux 计算机,我可以连接它ssh -X并让 X 客户端顺利地显示在本地服务器上。(中间)
  • 远程站点上有一台非常老旧的 Irix 机器(Onyx),它没有 SSH 服务器(因此我无法ssh -X访问它),只有一个ssh 客户.(缟玛瑙)

目的

我需要在 ONYX 机器上运行 X11 应用程序,并在 HOME 上查看 GUI。我想我遇到了xauth问题。请注意,我尝试了显而易见的方法:我将 DISPLAY 设置为$ip_address_of_HOME_in_the_SITE_VPN:0,但 VPN 服务器不会将连接尝试转发给其客户端,可能是出于安全原因。

迄今为止

目前的情况是:

  • ☑ HOME 连接至 SITE
  • ☑ VNC 服务器在 MIDDLE:7 上启动
  • ☑ HOME 上的 vncviewer 连接到 MIDDLE 上的 vncserver
  • ☑ ONYX 启动与 MIDDLE 的转发 ssh 会话:
    ssh -TfN -L 6007:127.0.0.1:6007 MIDDLE
  • DISPLAY=localhost:7 xclient在 ONYX 上失败,
    Xlib:服务器拒绝与“127.0.0.1:7.0”的连接

我确实知道转发(6007:127.0.0.1:6007)成功。

之前的尝试是:

  • ☑ HOME 连接至 SITE
  • ☑ HOME 连接至 MIDDLE:
    ssh -X MIDDLE(xclock 显示在 HOME 上,DISPLAY 为 127.0.0.1:10)
  • ☑ ONYX 启动到 MIDDLE 的 SSH 隧道: ssh -TfN -L 6010:127.0.0.1:6010 MIDDLE
  • DISPLAY=127.0.0.1:10 xclient失败
    与 127.0.0.1:10.0 的连接中断(明确终止或服务器关闭)。
    当 MIDDLE 会话中弹出一个错误时:
    X11 连接因身份验证错误而被拒绝。

绝望

我怎样才能达到我的目的?

答案1

西门子数据管理协议. 配置 ONYX 以接受 XDMCP 连接,然后建立从 HOME 到 MIDDLE 的 SSH 隧道。连接XnestXephyr到 SSH 隧道的本地端,然后登录 ONYX。

答案2

我设法使用直接 SSH 隧道(无 -X 选项)以及一些调整找到了解决方案xauth

  • HOME 连接到 SITE,telnet 到 ONYX
  • HOME 至 MIDDLE 的 SSH 隧道:
    ssh -TfN -R 6010:127.0.0.1:6000 MIDDLE
  • ONYX ssh 隧道至 MIDDLE:
    ssh -TfN -L 6010:127.0.0.1:6010 MIDDLE
  • HOMExauth nextract - $DISPLAY并复制输出
  • ONYXxauth nmerge -并粘贴先前的输出
  • ONYXDISPLAY=127.0.0.1:10 xclient成功:)

答案3

您不能使用 localhost (127.0.0.1) DISPLAY 来让运行在 ONYX 框上的 X 客户端显示在 HOME 框上。您需要 HOME IP 地址或主机名。

相关内容