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 。

一、修改网络配置
setenforce 0
systemctl stop firewalld
二、安装git
yum install git y
三、安装配置tigervnc
yum install tigervnc-server
vncserver :1
四、安装noVNC
1、git clone git://github.com/kanaka/noVNC
2、注: VNC的默认会话不是安全的,需要创建一个安全的VNC连接。创建完毕的证书 self.pem 需要放置到 noVNC/utils 目录下,当启动 noVNC 时,websockify将自动装载证书
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
一路回车
五、运行noVNC
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
六、测试连接
在浏览器访问(注意替换成自己的IP地址) http://IP:6080/vnc.html

输入密码,连接成功!
七、安装脚本
#!/bin/bash

setenforce 0
service iptables stop

yum install tigervnc-server git -y
vncserver :1

git clone git://github.com/kanaka/noVNC

cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem

cd ../
./utils/launch.sh --vnc localhost:5901