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桌面环境,当然也可以安装其他环境,这里不再做过多介绍。