CentOS7.9x64 安装novnc 实现web远程桌面代理

时间:2023-02-06 14:01:33

标签(空格分隔): 运维系列


一:nonvc 介绍

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 。

二:实验环境

操作系统:
CentOS7.9x64
IP地址:
172.16.10.11

主机名:
flyfish11

系统关闭selinux/iptables 规则防火墙规则

三:novnc 配置过程

3.1 安装tigervnc

yum install tigervnc-server
vncserver :1
配置好tigervnc-server 的系统会启动5901 端口

CentOS7.9x64 安装novnc 实现web远程桌面代理

3.2 安装novnc

下载 noVNC

下载novnc-1.2 这个版本
wget https://codeload.github.com/novnc/noVNC/tar.gz/refs/tags/v1.2.0

CentOS7.9x64 安装novnc 实现web远程桌面代理

tar -zxvf v1.2.0

CentOS7.9x64 安装novnc 实现web远程桌面代理

创建安全连接
VNC的默认会话不是安全的,需要创建一个安全的VNC连接。创建完毕的证书 `self.pem` 需要放置到 `noVNC/utils` 目录下,当
启动 noVNC 时,websockify将自动装载证书。

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

CentOS7.9x64 安装novnc 实现web远程桌面代理

运行 noVNC
在noVNC目录下,执行
./utils/launch.sh --vnc localhost:5901

CentOS7.9x64 安装novnc 实现web远程桌面代理

需要下载websockify到/root/noVNC/utils 下面

下载websockify-0.11.0.zip到/root/noVNC/utils 然后解压
unzip websockify-0.11.0.zip

CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理

mv websockify-0.11.0 websockify
mv websockify utils/
再次执行
./utils/launch.sh --vnc localhost:5901

CentOS7.9x64 安装novnc 实现web远程桌面代理

需要安装python3 的来支持 websockets proxy 代理

yum install -y epel-release
yum install -y python36

CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理

需要numpy 的 模块
pip3 install numpy

CentOS7.9x64 安装novnc 实现web远程桌面代理

再次执行
./utils/launch.sh --vnc localhost:5901

CentOS7.9x64 安装novnc 实现web远程桌面代理

打开页面:
http://flyfish11:6080/vnc.html?host=flyfish11&port=6080

就可以用web 浏览器操做centos7.9x64

CentOS7.9x64 安装novnc 实现web远程桌面代理

3.3 windows 下面配置代理

windows server 安装

CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理

设置vnc 的 连接密钥:123456

CentOS7.9x64 安装novnc 实现web远程桌面代理

CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理

使用novnc 代理这个 5900 这个端口就可以了

ps -ef |grep novnc

pip3 install websockify

cd /root/noVNC/

python3.6 -m websockify --web /root/noVNC --cert /root/noVNC/utils/self.pem 6081 172.16.10.61:5900 > windows.logs &
打开页面:
http://flyfish11:6801/vnc.html

CentOS7.9x64 安装novnc 实现web远程桌面代理


CentOS7.9x64 安装novnc 实现web远程桌面代理