赞
踩
noVNC是一个 HTML5 VNC 客户端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 实现,这篇文章主要介绍了NoVNC以Web方式交付VNC远程连接的方法,感兴趣的朋友一起看看吧
GitHub - novnc/noVNC: VNC client web application
noVNC
是一个 HTML5 VNC 客户端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 实现,noVNC 被普遍用在各大云计算、虚拟机控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。
noVNC采用WebSockets实现,但是目前大多数VNC服务器都不支持 WebSockets,所以noVNC是不能直接连接 VNC 服务器的,需要一个代理来做WebSockets和TCP sockets 之间的转换。这个代理在noVNC的目录里,叫做websockify 。
**目标:**通过浏览器远程访问Windows桌面。
**原理:**浏览器不支持VNC,所以不能直接连接VNC,但是可以使用代理,使用noVNC通过WebSocket建立连接,而VNC Server不支持WebSocket,所以需要开启Websockify代理来做WebSocket和TCP Socket之间的转换。
1 2 3 4 5 6 7 |
|
安装桌面环境
安装tigervnc
1 2 3 4 |
|
启动VNC服务并输入密码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
查看日志
cat /root/.vnc/novnc:1.log
查看端口
1 2 3 |
|
安装noVNC
git clone GitHub - novnc/noVNC: VNC client web application
创建安全连接(一路回车)
VNC的默认会话不是安全的,我们需要创建一个安全的VNC连接,会发现提示需要输入内容,这些字段我们并不需要都进行填写,当启动noVNC时,websockify将自动装载证书。
1 2 3 |
|
运行noVNC
1 2 3 |
|
测试进行访问连接
设置开机自启动
1 |
|
安装numpy,解决连接速度慢:
https://sourceforge.net/projects/numpy/files/
1 2 3 4 5 6 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
1 2 3 |
|
实现目标:通过浏览器远程访问Windows桌面
准备一台Windows7 32位的虚拟机
UtralVNC:
Windows环境下的VNC Server,在你需要访问的目标机器上安装。
此处提示:生产需求为Windows7 32位,在下载UtralVNC软件时请下载之前的较旧版本,最新版会不兼容。
Node.js:
用于执行Websockify.js。Websockify还有Python版本的,不过在Windows下不可以成功。
noVNC:
noVNC是一个HTML5 VNC客户端
websockify-js:
noVNC是通过websockt建立链接,而VNC server不支持websocket,所以需要开启websockify
代理来做 WebSockets 和 TCP sockets 之间的转换。
将UltraVNC软件复制到需要远程协助的电脑上双击打开安装。
在【Select Components】界面按需要选择上需要的组件,这里将【UltraVNC Server】和【UltraVNC Viewer】选择上。当需要远程协助时安装的电脑必须选择上【UltraVNC Server】,【UltraVNC Viewer】是用来远程协助的工具。点击【next】进行下一步安装。
安装完成后桌面就会有快捷方式,天蓝色的是服务的快捷方式,浅绿色是远程连接的工具。同时系统托盘上会有一个天蓝色的眼睛图标的程序,这个就是vnc server。
右键小眼睛图标打开菜单,点击【Start Service】并重启电脑。
点击【Admin Properties】打开配置连接的密码,连接的密码分为可操作的密码跟只看的密码。
3. 安装Node.js
选择npm package manager
node.js安装完成后,需要安装ws、optimist模块(执行websockify.js文件所需)
npm install ws
npm install optimist
npm install mime-types
安装完ws和optimist后会在C:\Users\Administrator\下生成node_modules目录
把noVNC.zip解压到node_modules目录下,再把websockify-master.zip解压到noVNC目录下。
转发9000端口的http链接到5900端口(UltraVNC Server的默认端口为5900)
C:\Users\root\node_modules\noVNC\websockify-js-master\websockify>node websockify.js --web C:\Users\root\node_modules\noVNC 9000 localhost:5900
在浏览器访问http://192.168.1.163:9000/会出现这样的提示
需要把websockify.js
中的filename += ‘/index.html'
改成filename += ‘/vnc.html';
点击链接输入UltraVNC设置的密码 完成。
如果被禁止访问,需要允许访问的9000端口进入
#1. 桌面新建自启动批处理文件start.bat
@echo off
start "cmd" "cd C:\Users\root\node_modules\noVNC\websockify-js-master\websockify\" & node websockify.js --web C:\Users\root\node_modules\noVNC 9000 localhost:5900"
打开运行,输入shell:startup
回车。将start.bat启动文件放入文件夹
在open微皮恩服务端通过执行一键生成脚本生成客户端证书novnc01
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
将生成的证书上传到安装有novnc的PC客户端上
下载windows7版的客户端软件openvpn-gui
OpenVPN Download Free - 2.6.10 | TechSpot
进行连接
在另一台PC客户端上也生成证书进行连接访问
openvpn断开连接,则novnc的连接也随即断开
到此这篇关于NoVNC—以Web方式交付VNC远程连接的文章就介绍到这了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。