我正在尝试从工作电脑运行家用电脑上的 X 程序。基本设置如下:
Arch Linux 工作电脑 -> OpenBSD SSH 路由器(在家) -> Arch Linux 家用电脑(带有 SSH)
我从未真正尝试过这样做,也不太清楚该怎么做。我该如何实现它?
当我尝试做的时候
$(work computer) ssh -Y home-ip
..
$(home router) ssh -Y private-ip
我进入最后一条隧道“X11 转发请求在通道 0 上失败”
我该如何正确地做到这一点?
编辑:我忘记在家用电脑的 sshd 上启用 X 转发。我现在已经解决了这个问题,但当我执行简单的命令时似乎什么也没发生,比如xterm
。它只是呆在那里,大概是试图在我的路由器上显示 xterm 窗口,而不是在我的工作电脑上
答案1
如何将工作计算机上的端口转发到家用计算机的端口 22,然后再ssh -Y
转发到该本地端口?
例如,
ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222
答案2
您所做的应该可以工作,但您需要xauth
在路由器上安装该程序,以便它能够为 SSH 创建的虚拟 X11 显示创建安全密钥。您需要xauth
在任何一台机器上ssh -X
安装该程序ssh -Y
,即使您实际上没有在那里运行任何 X 应用程序,但只是将其用作通向其他地方的一步。
连接到家用电脑后,检查$DISPLAY
变量。它应该是这样的localhost:10
。如果不是,请返回路由器上的 shell 并$DISPLAY
在那里检查。