VPS安装和访问CentOS 7远程桌面
温馨提示:这篇文章已超过633天没有更新,请注意相关的内容是否还可用!
如今,在技术行业中远程办公或者远程弹性化工作制变得流行,而趋势背后的一个技术就是远程桌面。当桌面环境在云中,你可以在任何地方vps远程桌面连接软件,或家中、工作场所访问你的远程桌面。笔者从xmodulo网站中找到一个介绍如何VPS中设置基于CentOS的远程桌面的教程。(图片来源xmodulo网站)
首先展示CentOS的基础环境。假设已经创建了CentOS7的VPS实例(比如使用DigitalOcean或者AmazonEC2)。
第一步:安装CentOS桌面
如果当前安装的CentOS版本没有桌面的最小版本,需要先在VPS上安装桌面(比如GNOME)。举例来说,DigitalOcean的镜像就是最小版本,需要如下安装桌面GUI
#yumgroupinstall"GNOMEDesktop"
在安装完成之后重启VPS。
第二步:安装和配置VNC服务器
安装和配置VNC服务器。我们使用的是TigerVNC,一个开源的VNC服务应用。
#yuminstalltigervnc-server
现在创建一个用户账户(比如:xmodulo)用来访问远程桌面。
#useraddxmodulo
#passwdxmodulo
当用户尝试使用VNC访问远程桌面时,VNC守护进程就会启动来处理这个请求,需要为每个用户创建一个独立的VNC配置文件。CentOS依靠systemd来管理和配置系统服务,将使用systemd来为用户xmodulo配置VNC服务器。
首先让我们使用下面任意一条命令来检查VNC服务器的状态。
#systemctlstatusvncserver@:.service
#systemctlis-enabledvncserver@.service
默认的,刚安装的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
现在为用户xmodulo设置密码(可选)。首先切换到该用户,并运行vncserver命令。
#su-xmodulo
#vncserver
这里会被提示输入用户的VNC密码。设置完成后,需要用这个密码下次来访问你的远程桌面。最后重新加载服务来使新的VNC配置生效:
#systemctldaemon-reload
在启动时自动启动VNC服务:
#systemctlenablevncserver@:1.service
检查vnc服务正在监听的端口:
#netstat-tulpn|grepvnc
端口5901是VNC默认的客户端连接到VNC服务器使用的端口。
第三步:通过SSH连接到远程桌面
从设计上说,VNC使用的远程帧缓存(RFB)并不是一种安全的协议,VNC客户端直接连接到VNC服务器上并不明智。任何敏感信息在VNC流量中被轻易地泄露。因此vps远程桌面连接软件,建议使用SSH隧道来加密VNC流量。
在运行VNC客户端的本机上,使用下面的命令来创建一个连接到远程VPS的SSH通道。当被要输入SSH密码时,输入用户的密码。
\$sshxmodulo@>-L5901:127.0.0.1:5901
用VNC用户名来替换“xmodulo”,并填上自己的VPSIP地址。一旦SSH通道建立,远程VNC流量就会通过ssh通道路由并发送到127.0.0.1:5901。现在启动VNC客户端(比如:vinagre),来连接到127.0.0.1:5901。
要求输入VNC密码。当输入VNC密码时,你就可以安全地连接到CentOS的远程桌面,会看到上图的显示。