使VNC可用,而无需打开非ssh端口到WAN

我有一个由运行dd-wrt的网关路由器/防火墙,运行OS X的机器(称为mac)和名为ssh-server的Debian主机组成的本地networking。 防火墙将端口22转发到ssh-server。

我想在本地networking之外使用Mac上的VNC,只有ssh-server上的SSH端口在WAN上打开。 换句话说,我不想configuration防火墙将端口转发到mac:5900或打开任何其他端口。 这可能吗? 怎么样?

我有一个远程访问解决scheme,但它需要打开另一个端口。 它使用ssh服务器和mac之间的SSH隧道(详情见下文)。 但是,我不喜欢这个解决scheme,因为我需要打开另一个端口到广域网,而且它不必要地在局域网上使用安全的协议。

我所做的是:ssh-server $ ssh -nNT -L *:12345:mac:5900 user @ mac

然后设置防火墙将端口12345转发到ssh-server:12345。

最后,从广域网我使用SSH端口转发连接到WAN:12345。

但是,我不喜欢这个解决scheme让端口12345在WAN上打开并转发给VNC。

关于什么

remote-client% ssh firewall-port22-which-goes-to-ssh-server -L 5900:mac:5900 

其次是

 remote-client% vncviewer localhost:5900