玩家们:
- 我的家用电脑,运行 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 隧道。连接Xnest
或Xephyr
到 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
- HOME
xauth nextract - $DISPLAY
并复制输出 - ONYX
xauth nmerge -
并粘贴先前的输出 - ONYX
DISPLAY=127.0.0.1:10 xclient
成功:)
答案3
您不能使用 localhost (127.0.0.1) DISPLAY 来让运行在 ONYX 框上的 X 客户端显示在 HOME 框上。您需要 HOME IP 地址或主机名。