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