Linux:安装SSH通过Internet隧道传输VNC流量

时间:2020-01-09 10:40:44  来源:igfitidea点击:

如何使用ssh隧道的VNC协议进行安全通信。
如何使用ssh通过Internet在家里访问我的UNIX服务器?
可以使用ssh协议通过Internet访问VNC。
由于将对流量进行加密,因此可以提高安全性。

拓扑图

pc22.theitroad.com 
+----------------+                   +-----------------+
| Laptop @ Home  |---> Internet ---> | UNIX PC @ Work  |
+----------------+                   +-----------------+
                                       vncserver port 5901  
OR

+----------------+                   +-----------------+
| Laptop @ Home  |---> Internet ---> | Router/firewall |
+----------------+                   | port forwarding |
                                      +-----------------+
                                            | fw.theitroad.com ssh/tcp22
                                            |
                                          ///\\
                                          //   \
                                          /      \
                                       +-----------------+
                                       | UNIX/Linux /OS X| 
                                       | at work         |
                                       +-----------------+
                                       pc22.theitroad.com
                                       vncserver @ port 5901

您的工作电脑可能直接连接到Internet。
否则,大多数办公室都安装了路由器和防火墙。
您需要确保防火墙允许将TCP端口22的端口转发到UNIX/OS X /工作站或名为pc22.theitroad.com的服务器。
其工作方式如下:

+------------+
| SSH Client |-------> Internet ssh connection with encryption  
| with       |                         |
| vncviewer  |                         |
+------------+                         |
                                       \|/
                             +------------------------+
                             | SSH server at port 22  |
                             | Vncserver at port 5501 |
                             +------------------------+

您从本地ssh客户端(localhost)连接到在工作UNIX pc上安装的ssh服务器(pc22.theitroad.com),并在路由器/防火墙级别进行端口转发。
我假设在您的办公室正确配置了端口转发。
现在,打开终端并输入以下命令:

ssh  -N -f -L 5000:localhost:5901 [email protected]

上面的命令将启动到pc22.theitroad.com的ssh连接,还监听本地主机上的端口5000,并将vnc连接转发到pc22.theitroad.com上的端口5901。
通常,本地和远程端口号相同,以避免混淆:

ssh  -N -f -L 5901:localhost:5901 [email protected]

现在,您可以在家里使用vncviewer,如下所示:

vncviewer localhost:5901

您还可以使用GUI工具并将VNC服务器位置设置为localhost:5901

设置ssh以通过Internet隧道传输VNC流量

连接后,您将获得桌面登录窗口或上一个会话窗口,如下所示:

使用SSH的VNC运行起来更加安全