1安装CentOS桌面并配置VNC服务器

第一步:安装CentOS桌面
  如果当前安装的CentOS版本没有桌面的最小版本,需要先在VPS上安装桌面(比如GNOME)。举例来说,DigitalOcean的镜像就是最小版本,需要如下安装桌面GUI
 

# yum groupinstall "GNOME Desktop" 

  在安装完成之后重启VPS。 

第二步:安装和配置VNC服务器 

  安装和配置VNC服务器。我们使用的是TigerVNC,一个开源的VNC服务应用。 

  # yum install tigervnc-server 

  现在创建一个用户账户(比如:xmodulo)用来访问远程桌面。 

  # useradd xmodulo 

  # passwd xmodulo 

  当用户尝试使用VNC访问远程桌面时,VNC守护进程就会启动来处理这个请求,需要为每个用户创建一个独立的VNC配置文件。CentOS依靠systemd来管理和配置系统服务,将使用systemd来为用户xmodulo配置VNC服务器。 


2检查VNC服务器的状态 

  首先让我们使用下面任意一条命令来检查VNC服务器的状态。 

  # systemctl status vncserver@:.service 

  # systemctl is-enabled vncserver@.service 



[img]http://dl2.iteye.com/upload/attachment/0121/1334/dc466768-0d0f-3e6e-b373-9d451c68e3b0.jpg[/img] 


 默认的,刚安装的VNC服务并没有激活(禁用)。 

  现在复制一份通用的VNC服务文件来为用户xmodulo创建一个VNC服务配置。 

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

  用本文编辑器来打开配置文件,用实际的用户名(比如:xmodulo)来替换[Service]下面的。同样。在ExecStart后面追加 "-geometry " 参数。最后,要修改下面“ExecStart”和“PIDFile”两行。 

  # vi /etc/systemd/system/vncserver@:1.service 



[img]http://dl2.iteye.com/upload/attachment/0121/1349/79a741f7-8121-3bbe-b43c-33c97b6a7ebb.jpg[/img] 



  现在为用户xmodulo设置密码(可选)。首先切换到该用户,并运行vncserver命令。 

  # su - xmodulo 

  # vncserver 



[img]http://dl2.iteye.com/upload/attachment/0121/1351/e9d0cc91-3e01-3f74-81a8-8272a38b36d6.jpg[/img] 



  这里会被提示输入用户的VNC密码。设置完成后,需要用这个密码下次来访问你的远程桌面。最后重新加载服务来使新的VNC配置生效: 

  # systemctl daemon-reload 

  在启动时自动启动VNC服务: 

  # systemctl enable vncserver@:1.service 

  检查vnc服务正在监听的端口: 

  # netstat -tulpn | grep vnc 



[img]http://dl2.iteye.com/upload/attachment/0121/1359/56a7b340-f88d-3e00-b4a3-8bb73dfc842d.jpg[/img] 




 端口5901是VNC默认的客户端连接到VNC服务器使用的端口。 

3通过SSH连接到远程桌面 

  第三步:通过SSH连接到远程桌面 

  从设计上说,VNC使用的远程帧缓存(RFB)并不是一种安全的协议,VNC客户端直接连接到VNC服务器上并不明智。任何敏感信息在VNC流量中被轻易地泄露。因此,建议使用SSH隧道来加密VNC流量。 

  在运行VNC客户端的本机上,使用下面的命令来创建一个连接到远程VPS的SSH通道。当被要输入SSH密码时,输入用户的密码。 

  \$ ssh xmodulo@<VPS-IP-address> -L 5901:127.0.0.1:5901