阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux系统入门学习:如何在VPS上安装和访问CentOS 7远程桌面

193次阅读
没有评论

共计 2266 个字符,预计需要花费 6 分钟才能阅读完成。

提问: 我想在 VPS 中安装 CentOS 桌面,并可以直接从我家远程访问 GUI 桌面。在 VPS 上设置和访问 CentOS 远程桌面有什么建议吗?

如何远程办公或者远程弹性化工作制在技术领域正变得越来越流行。这个趋势背后的一个技术就是远程桌面。你的桌面环境在云中,你可以在任何你去的地方,或者在家或者工作场所访问你的远程桌面。

这个教程介绍如何 VPS 中设置基于 CentOS 的远程桌面。现在,我们会先展示 CentOS 的基础环境。

我们假设你已经创建了 CentOS 7 的 VPS 实例(比如,使用 DigitalOcean 或者 Amazon EC2)。请确保你的 VPS 实例有至少 1GB 的内存。不然,CentOS 将会在你访问远程桌面的时候会崩溃。

Linux 系统入门学习:如何在 VPS 上安装和访问 CentOS 7 远程桌面

 

第一步:安装 CentOS 桌面

如果你现在安装的 CentOS 版本是没有桌面的最小版本,你需要先在 VPS 上安装桌面(比如 GNOME)。比如,DigitalOcean 的镜像就是最小版本,它需要如下安装桌面 GUI

  1. # yum groupinstall "GNOME Desktop"

在安装完成之后重启 VPS。

 

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

接下来就是安装和配置 VNC 服务器。我们使用的是 TigerVNC, 一个开源的 VNC 服务实现。

  1. # yum install tigervnc-server

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

  1. # useradd xmodulo
  2. # passwd xmodulo

当一个用户尝试使用 VNC 访问远程桌面时,VNC 守护进程就会启动来处理这个请求。这意味着你需要为每个用户创建一个独立的 VNC 配置文件。

CentOS 依靠 systemd 来管理和配置系统服务。所以我们将使用 systemd 来为用户 xmodulo 配置 VNC 服务器。

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

  1. # systemctl status vncserver@:.service
  2. # systemctl is-enabled vncserver@.service

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

Linux 系统入门学习:如何在 VPS 上安装和访问 CentOS 7 远程桌面

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

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

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

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

  1. [Service]
  2. Type=forking
  3. # Clean any existing files in /tmp/.X11-unix environment
  4. ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
  5. ExecStart=/sbin/runuser -l xmodulo -c "/usr/bin/vncserver %i -geometry 1024x768"
  6. PIDFile=/home/xmodulo/.vnc/%H%i.pid
  7. ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

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

  1. # su - xmodulo
  2. # vncserver

你会被提示输入用户的 VNC 密码。密码设置完成后,你下次需要用这个密码来访问你的远程桌面。

Linux 系统入门学习:如何在 VPS 上安装和访问 CentOS 7 远程桌面

最后,重新加载服务来使新的 VNC 配置生效:

  1. # systemctl daemon-reload

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

  1. # systemctl enable vncserver@:1.service

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

  1. # netstat -tulpn | grep vnc

Linux 系统入门学习:如何在 VPS 上安装和访问 CentOS 7 远程桌面

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

 

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

从设计上说,VNC 使用的远程帧缓存(RFB)并不是一种安全的协议,那么在 VNC 客户端上直接连接到 VNC 服务器上并不是一个好主意。任何敏感信息比如密码都可以在 VNC 流量中被轻易地泄露。因此,我强烈建议使用 SSH 隧道来加密你的 VNC 流量。

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

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

用你自己的 VNC 用户名来替换“xmodulo”,并填上你自己的 VPS IP 地址。

一旦 SSH 通道建立之后,远程 VNC 流量就会通过 ssh 通道路由并发送到 127.0.0.1:5901。

现在启动你最爱的 VNC 客户端(比如:vinagre),来连接到 127.0.0.1:5901。

Linux 系统入门学习:如何在 VPS 上安装和访问 CentOS 7 远程桌面

你将被要求输入 VNC 密码。当你输入 VNC 密码时,你就可以安全地连接到 CentOS 的远程桌面了。

Linux 系统入门学习:如何在 VPS 上安装和访问 CentOS 7 远程桌面

然后就会看到如题图的显示。

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/117628.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2266字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中