1 环境
1.1 Server端
1)阿里云ECS服务器,系统为Centos7.4
1.2 Client端
1)自有笔记本,系统为windows10 LTSC2019
2 Server端配置
2.1 下载脚本文件
运行命令:
wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/41181/cn_zh/1504062842088/install_vnc_server.sh
2.2 执行安装脚本
以root身份执行脚本 bash install_vnc_server.sh
说明:安装需要较长的时间。当屏幕上出现以下信息时,表示VNC Server安装完成。您需要记录显示的随机密码(b136f1)。
注:如果脚本执行报错可以多尝试几次。
2.3 查看端口
运行以下命令,在返回结果中查看Xvnc服务正在使用的端口。
netstat -tulnp
在上图中,表示VNC Server正在使用的端口为TCP 5901和6001,其中:
TCP 5901:允许VNC客户端通过RFB协议连接VNC Server。使用VNC Viewer连接实例时选择这个端口。
TCP 6001:允许Windows X连接VNC Server。
2.4 放开端口限制
开放指定端口:
- 开放5901和6001
firewall-cmd --zone=public --add-port=80/tcp --permanent
- 重启防火墙
systemctl restart firewalld.service
或者你也可以选择直接关闭防火墙:
- 查看当前防火墙状态
firewall-cmd --state
- 关闭防火墙
systemctl stop firewalld.service
2.5 添加安全组规则
在本示例中需要添加2条安全组规则,放行Xnvc服务需要的TCP 5901和TCP 6001端口。
详细操作请见:添加安全组规则
2.6 noVNC安装与配置
- noVNC需要系统已经安装过图形界面,不然会出现无法连接服务器,若当前系统没有图形界面,运行此命令开始安装:
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y
- 需要使用git下载novnc,若没有git请执行
yum install git
- 下载novnc
git clone git://github.com/kanaka/noVNC
- 进入utils目录
cd ./noVNC/utils/
- 创建安全连接(一路回车就行)
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
注: VNC的默认会话不是安全的,需要创建一个安全的VNC连接。创建完毕的证书 self.pem 需要放置到 noVNC/utils 目录下,当启动 noVNC 时,websockify将自动装载证书。
- 返回novnc目录
cd ..
- 执行启动
./utils/launch.sh --vnc localhost:5901
- 建议将localhost改为云服务器的公网地址
- 启动noVNC时,可以通过添加 --listen 命令来指定noVNC监听的端口,例如 ./utils/launch.sh --vnc localhost:5901 --listen 6890 的作用为:启动noVNC,监听6890端口,并连接到 localhost:5901上的vncServer服务
2.7 登陆并使用
- 在win10的chrome浏览器中输入地址,ip替换为云服务器的公网地址:http://ip:6080/vnc.html?host=ip&port=6080
- 输入前边记下的密码(b136f1)即可连接。