码迷,mamicode.com
首页 > Windows程序 > 详细

Windows VNC Server Web 端集成

时间:2021-02-22 11:48:17      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:输入密码   linux服务   setup   archive   host   yum   src   width   解压   

概要

首先由客户端安装VNC Server,启动服务并配置密码。服务端添加该设备配置,即可通过web远程访问和控制该客户端设备。通常应用于,远程设备维修和远程操作协助。

 

选择下载VNC

VNC叫做虚拟网络计算(Virtual Network Compting)。是一种协议。主要用于桌面共享。

VNC有多种实现版本:RealVNC 、TightVNC、UltraVNC等。这三者的具体差别和对比(http://www.dbuggr.com/milly/vnc-viewer-comparison-tightvnc-ultravnc-realvnc/)。

RealVNC:(https://www.realvnc.com)是VNC协议的原始开发者,是商业软件。免费版的功能不完整。

TightVNC:(https://www.tightvnc.com/)是一个RealVNC良好的替代方案,免费开源(GPL许可)在积极维护。但是不允许远程复制粘贴

UltraVNC:(http://www.uvnc.com/)免费,可以文件传输,复制粘贴,快速。几乎是一个相对完美的解决方案(目前)

综合业务需求,最终选择UltraVNC作为Server端进行安装。下载地址为:http://www.uvnc.com/component/jdownloads/summary/4/371.htm。选择接受协议(GUN/GPL)。并且下载。

 

 

安装VNC

安装UltraVNC_1_2_23_X64_Setup.exe。

选择接受协议

技术图片

点击next

选择安装路径,然后点击next

选择只安装UltraVNC Server

技术图片

点击next

所有的复选框都选中,点击next

技术图片

点击Install

点击next

点击Finish

配置密码(gongym)

技术图片

点击OK生效

 

 

Windows配置Web访问Demo

下载noVNC(https://github.com/novnc/noVNC/archive/v1.0.0.zip)并解压

下载websockify(https://github.com/novnc/websockify/archive/v0.8.0.zip)并解压。在websockify-path/other/js/下执行npm install安装依赖

下载nodejs并安装配置。

启动命令:node websockify-path/other/js/websockify.js --web novnc-path 9000 目标主机ip:5900。

命令示例

技术图片

打开浏览器访问:localhost:9000。点击链接输入密码即可控制目标服务器

技术图片

原理

浏览器不支持VNC直连。但是可以使用代理,使用noVNC通过WebSocket建立连接。而VNC Server不支持WebSocket。所以要开启websockify代理来做WebSocket和TCP Socket之间的转换。

 

 

方案思考

首先,服务需要部署的Linux服务器中。

其次,服务需要支持多个设备的连接。要尽量不暴露目标主机IP和端口号

最后,连接最好加密。使用https和wss保护连接安全

Websockify提供Python, C, Node.js and Ruby四种语言的启动方式(实现方式)。应该使用的是Python启动,并且指定配置文件。使用token进行访问。启动方式为:websockify-path/run --web novnc-path --target-config=token-path 9000

 

 

具体实现

准备一台Centos7的桌面版服务器(192.168.2.116)。然后拷贝相关文件到服务器上并且赋予执行权限。

检查python是否安装(2.7以上就可以)

为了访问更快速,可以安装numpy(具体步骤可以参考后面命令)

技术图片

创建配置文件:vnc-tokens

填写:hostID: ip:port

技术图片

启动:websockify-path/run --web novnc-path --target-config=token-path/vnc-tokens 9000

页面访问:http://192.168.2.116:9000/vnc.html(要关闭防火墙)

配置不同机器(路径处写配置文件中填写的hostID)

技术图片

点击链接输入密码即可访问

或者访问带参数的地址:

http://192.168.2.116:9000/vnc.html?path=websockify/?token=host2

这样就可以通过修改访问地址来区别访问不同的VNC Server主机

技术图片

修改路径即可访问其他机器

技术图片

启动和操作命令集合

npm install

 

#单机测试

node D:\develope\projects\idea\ninelock\vnc-client\vnc-viewer-web\websockify\other\js\websockify.js --web D:\develope\projects\idea\ninelock\vnc-client\vnc-viewer-web 9000 192.168.2.109:5900

 

 

systemctl stop firewalld.service

systemctl disable firewalld.service

 

#提权限

cd /root/vnc-viewer-web

chmod -R +x *

 

#绝对路径

/root/vnc-viewer-web/websockify/run --web /root/vnc-viewer-web/ --target-config=/root/vnc-viewer-web/token/vnc-tokens 9000

#相对路径

cd /root/vnc-viewer-web

websockify/run --web ./ --target-config=./token/vnc-tokens 9000

 

 

#安装numpy

yum -y install gcc gcc-c++ numpy python-devel scipy

Windows VNC Server Web 端集成

标签:输入密码   linux服务   setup   archive   host   yum   src   width   解压   

原文地址:https://www.cnblogs.com/chinajeckxu/p/14420462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!