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运行起来更加安全

