VNC(Virtual Network Computing)是一种使用图形用户界面远程访问用户帐户的协议,被众多VPS厂商所采用,用于VPS主机的维护和管理。本教程将详细讲解如何在CentOS 7主机安装和配置VNC控制台。

1] 安装VNC

为了安装VNC,需要以root用户执行如下命令,事实上就上安装一个VNC服务器工具:

# yum install tigervnc-server -y

2] 设置VNC密码

安装完成之后,就可以为采用VNC方式登录的用户帐户创建VNC验证密码了,注意这个密码并不是登录系统的密码,只是用于VNC验证,所以可以同系统密码不一致。方便演示起见,这里使用root用户:

# su - root
# vncpasswd

图.1 设置帐户VNC密码

如图.1所示,使用vncpasswd命令就可以为当前用户设置VNC密码,输入的密码并不会回显。命令还会要求输入一个密码用于只看,根据需要自行设置即可。VNC会根据输入的密码来为帐户配置相应的权限。

3] 配置VNC服务器

现在为用户账户创建一个服务配置文件,VNC服务器预先已经提供了一个模板文件”vncserver@.service”,这个文件位于”/lib/systemd/system/”目录。通过使用该模板文件,就可方便的为VNC帐户创建配置文件。

首先使用如下命令拷贝一个配置文件,注意目录文件名为”vncserver@:1.service”:

# cp /lib/systemd/system/vncserver@.service   /etc/systemd/system/vncserver@:1.service

目标文件名中的”:1″用于指代显示端口,即访问VNC主机服务器的端口,这个数值即为VNC默认端口5900加上的数值用于回显主机内容的端口。

现在需要修改”vncserver@:1.service”的文件内容,使用如下命令:

# vi vncserver\@\:1.service

注意命令中转义字符”\”的使用,将如下内容添加到文件中,当然,如果使用模板的话,这些内容已经在文件中存在了:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -li root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

4] 重新加载服务进程

修改好配置文件后,重新加载systemd进程,以重新载入VNC的配置文件,最后启动VNC服务器,全部命令如下所示:

# systemctl daemon-reload
# systemctl start vncserver@:1
# systemctl status vncserver@:1
# systemctl enable vncserver@:1

图.2 启动VNC服务设置开机启动

5] 配置防火墙允许VNC端口

服务启动成功后,就需要在CentOS 7的防火墙中将VNC显示端口放行,以便VNC客户端可以通过该端口显示VNC主机内容。首先使用如下命令查看所有VNC使用的端口:

# ss -tulpn| grep vnc

图.3 查看所有VNC侦听端口

可以看到,我们之前设置的5901端口已经被侦听了。

需要强调的是,如果主机启动多个VNC服务,那么侦听的端口就会从5901、5902,依此类推。

现在需要做的就是在Firewalld进程中放行5901端口,命令如下:

# firewall-cmd --permanent --add-port=5901/tcp
# firewall-cmd --reload
图.4 在Firewalld进程中放行VNC端口

6] 通过VNC客户端连接CentOS 7桌面

最后,当然是通过VNC客户端连接VNC服务器啦。在windows平台,其客户端软件被称为VNC viwer,启动软件后,需要添加一个VNC连接,即指定一个VNC服务器,这里就将CentOS主机的IP地址和5901端口填入,用于指定VNC服务器,示意图如下:

图.5 VNC viwer中指定VNC服务器

指定服务器后,就可双击这个服务器进行连接了:

图.6 客户端连接提示

此时,会弹出如图.6所示信息提示该连接未加密,不用理会,点击”Continue”继续:

图.7 请求输入VNC账户密码

现在就需要输入VNC帐户密码了,就是之前使用”vncpasswd”命令设置的密码,输入完成后点击”OK”:

图.8 使用VNC客户端连接主机桌面

可以看到,已经成功使用VNC客户端连接到主机桌面了。

PS:还有一点需要特别指明,那就是VNC是一种远程桌面环境,如果CentOS 7系统采用最小化安装,没有安装桌面环境,那么VNC也不会启动成功,可以使用如下命令安装一个:

# yum groupinstall "GNOME Desktop"

此命令安装的是比较常用的GNOME桌面环境,当然也可以安装其他环境,这里不再做过多介绍。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注