标签:输入密码 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
标签:输入密码 linux服务 setup archive host yum src width 解压
原文地址:https://www.cnblogs.com/chinajeckxu/p/14420462.html