通过中间ssh服务器与vinagre(VNC)连接

好吧,我似乎无法让VNC连接工作。 我不确定我是否理解它。 所以:

我想从我的家用电脑(让我们称之为)连接到我的工作桌面(让我们在工作中调用它,但我必须通过连接服务器(我们称之为工作服务器))。

那么有人可以解释我如何使用,例如,Vinagre通过workserver连接从athomeworkserver (并共享我在atwork vino-preferences上启用的桌面)? 我可以通过终端中的ssh轻松访问它们,但我无法让Vinagre连接。

我尝试过使用“使用主机…作为SSH隧道”选项。 它没用。

我已经尝试了ssh -v -N -R 5902:atwork:5902 user@workserver在终端然后连接到localhost:5902 ,但它没有用。

我可能做错了什么,所以如果有人能够清楚地向我解释应该怎么做,我会很高兴。

谢谢

如果我理解的话,我能够模拟(我希望)你的情况。

需要连接到atwork机构的VNC服务器。 无法通过客户端机器上的ssh访问athome 。 但是,可以通过中间机器工作workserver ssh访问workserverworkserver可以通过来自athome ssh athome

如果这是正确的情况,我能够在类似的情况下连接。 我使用了remmina ,它默认尝试连接端口5900.这是我如何使用中间端口5901进行连接。在您的情况下根据需要调整端口。

在此处输入图像描述

  • 建立从athomeworkserver第一条隧道。

     ssh -L 5900:localhost:5901 -N -f -l username workserver 
  • 设置从工作workserver到工作的第二条隧道

    SSH进入workserver并输入下一个命令。 保持此ssh窗口打开。

     ssh -L 5901:localhost:5900 -N -f -l username atwork 
  • 回到athome ,启动remmina并连接到localhost

令我惊讶的是,它起作用了。

完成后,返回workserver ssh窗口和killall ssh 。 然后killall ssh on athome