我是SSH和Linux的新手,所以请不要笑,如果这是一个简单的问题。 我已经看过,并没有真正发现任何使用谷歌,这正是我想要的。
build立
路由器 – 侦听端口443 – 将端口443上的任何内容redirect到“sshserver”上的端口22
Ubuntu服务器(路由器后面) – 名称= sshserver – 安装openSSH。 IP地址192.168.2.2 – 侦听端口22上的SSH – 系统首选项 – 远程桌面 – 启用 – 密码 – (取消确认与此计算机的每个连接)
安装了Putty的Ubuntu Desktop(name = workstation)。 很明显,我的IP地址取决于我在哪里。
我可以ssh到我的“sshserver”使用“工作站”没有问题。 一切都很好。 我使用Putty将我的Ubuntu“工作站”连接到“sshserver”。
我的理解是,在Ubuntu中检查“远程桌面”时,VNC将在5900端口上运行。因为我知道会话屏幕页面正常工作(我总是可以用SSH成功login),我只想编辑Putty – ssh – 隧道部分。
在这个scren上,我试过input:source port:5900 destination port:localhost:5092
我之所以这样做是因为我有意使用Applications – Internet“远程桌面查看器”应用程序。 在这里我告诉它我想要一个VNCtypes的连接,并且我想连接到“localhost:5092”。
这失败了。 我想我只是不明白隧道是如何发生的,以及如何纠正这个问题。 如果有人能帮助我理解这个工具如何使用我列出的工具,我将非常感激!
提前致谢。
input主腻子屏幕上的所有连接信息。 听起来就像你将使用端口443而不是22从外部连接。 然后去隧道部分,并input源端口5092。 把本地主机:5900的目的地。 将单选button保留为本地和自动。 点击添加,所以它显示在列表中,然后打开连接

当您打开连接时,您将从服务器的angular度访问“localhost:5900”。 您可以从本地端口5092访问它。
要使用vnc连接到服务器,请为主机插入localhost:5092。 
其他的方法。 本地端口是您连接到的端口,目标是服务器端连接的地方。 所以如果你想把vncclient指向“localhost:5902”并且在服务器端以“localhost:5900”的forms出现,你需要将Local Port设置为“5902”,Destination设置为“localhost:5900”
本地端口始终在SSH客户端的本地主机上。 目的地可以在任何地方,包括SSH服务器的本地主机。
我曾经运行ssh -L 5900:localhost:5900 me@home ,然后启动vncview localhost 。 我家的桌面是一个运行GNOME和vino的debian。 像魅力一样工作。