通过两个ssh跳调谐VNC

时间:2015-11-02 21:17:52

标签: ssh firewall portforwarding tunneling

我一直在寻找一种解决方案来隧道到防火墙后面的机器,通过VNC(或其他端口)。就像在old usenet post中解释的那样,我将在此重述:

我必须登录中间机器,例如:

local $ ssh interim
interim $ ssh remote
remote $ ...any commands...

这很好用。但是现在我正在尝试将vnc会话从远程隧道传输到本地,并且我无法使用一个或两个步骤找到神奇的咒语。

1 个答案:

答案 0 :(得分:5)

我最近发现了一个非常简单且适应性强的解决方案:只需通过连接到防火墙将ssh隧道传送到目标系统。像这样:

local $ ssh -L 2222:remote:22 interim
interim $ ...no need to do anything here...

在另一个本地控制台中,您连接到端口2222上的localhost,这实际上是您的远程目标:

local $ ssh -C -p 2222 -L 5900:localhost:5900 localhost
remote $ ...possibly start you VNC server here...

在另一个本地控制台中:

local $ xtightvncviewer :0

就这么简单。您可以将所需的任何端口转发添加到第二个命令(-L localport:localhost:remoteport),就像没有任何中间防火墙一样。例如,对于RDP:-L 3389:localhost:3389