使用VNC远程连接阿里云ECS实例的Ubuntu系统

使用VNC远程连接阿里云ECS实例的Ubuntu系统

前言

和我们配置 XShell的目的一样,不想每次都通过浏览器登录访问服务器,直接通过远程工具进行连接使用,真是方便又快捷。不同的是,XShell配置的是命令模式的远程连接,我们通过 VNC配置的是图形界面的远程连接。

VNC的基本运行原理和一些Windows下的远程控制软件很相像。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好,看上去和Windows下的软件界面也很类似。

VNC基本上是由两部分组成:

  • 一部分是客户端的应用程序(VNCViewer);
  • 另外一部分是服务器端的应用程序(VNCServer)。

在任何安装了客户端的应用程序(VNCViewer)的Linux平台的计算机都能十分方便地和安装了服务器端的应用程序(VNCServer)的计算机相互连接。

配置详细流程

注意,我使用的当前账户是root账户,不存在任何权限问题。如果是使用普通账户,请为其添加 sudo权限,在执行命令时遇到权限问题可以 sudo执行。

如果可以的话,建议使用 root账户安装,避免权限问题。

Ubuntu配置VNCServer

我们在安装 VNCServer之前,先更新一下 apt,防止一些软件安装不了

apt-get update

接着安装 VNC,安装过程中需要确认的地方输入“y”进行确认

apt-get install vnc4server

安装完成后,启动 VNCServer

vncserver

在启动过程中,会让你设置一个密码,Password进行设置,Verify进行确认。请一定要记住这个密码,后面步骤中连接 VNCViewer的时候就需要这个密码。
v1

VNCServer启动结束后,如果看到 New ‘xxx’ desktop is xxx:1之类的信息,就说明启动成功了。
v2

配置gnome桌面环境

依次输入以下四条命令,安装 x-windows基础、登录管理器、Ubuntu桌面、gnome配套软件。同样地,需要确认的地方都输入“y”进行确认

apt-get install x-window-system-core
apt-get install gdm
apt-get install ubuntu-desktop
apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

在安装 Ubuntu-desktop的时候,可能会弹出一个选择框,要选择默认的 Ubuntu桌面管理环境,有 gdm3和 lightgdm两个选项,我们选择 gdm3,按回车键即可确认。

接下来我们要修改 VNC配置文件

vim ~/.vnc/xstartup

这里说句题外话,官方文档给出的修改意见是把文档清空,然后把它配置好的内容复制进去。按照官方的步骤配置出来之后在 VNCViewer中只能看到空白桌面,看不到顶部菜单栏和底部栏。花费了大量时间去搜索解决方法,才发现是 VNC配置文件有问题,官方的做法真是让人头大啊。

回到正题,修改前的配置文件为:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &

这里我们按“i”进入编辑模式,在文件尾部添加以下代码

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &

按“Esc”键,输入“:wq”保存并退出。

网上有人会在文件尾部中加上“gnome-terminal &”,即

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &

这里说明一下,x-window-manager 和 gnome-terminal 只需要一个即可。因为配置文件中已经带了 x-window-manager,所以我没有加 gnome-terminal。如果想要加上它,记得把 x-window-manager删除。

配置文件修改完毕之后,我们杀掉原桌面进程(:1是桌面号)

vncserver -kill :1

v3

然后我们生成一个新的会话

vncserver :1

v4

出现 New ‘xxx’ desktop is xxx:1之类的信息,就说明会话启动成功了。

注意,如果在某个时间,Ubuntu系统关闭以后重启,则 VNCServer也会被关闭,需要再次进入终端,用“vncserver :1”命令去启动 VNCServer。

管理控制台开放端口

VNCViewer连接 ECS实例中的 Ubuntu系统时,需要访问 5900和 5901端口。因此,需要让 ECS实例开放这两个端口,否则 VNCViewer无法连接 ECS实例。

我们在 Windows主机中,随意打开一个浏览器,访问阿里云的官网,用自己账户登录阿里云,进入网页中的管理控制台,找到“云服务器ECS”。在网络与安全选项中,点击“安全组”。同时注意一下服务器的地址,比如我的是在华北2(北京)。
v5

进行安全组之后,首先要记住把左上角的地区改成自己服务器所在的地址。
v6

在实例的右侧点击“配置规则”。
v7

右上角点击“添加安全组规则”。
v8

在弹窗中填入端口和授权对象的内容,点击确定即可。
v9

本地使用VNCViewer远程连接

为了方便操作,这里我们给出 VNCViewer软件的百度云链接,可直接下载。

链接:https://pan.baidu.com/s/1BI5t1idaHVI-zkpPEo1YyA
提取码:588w

我们也可以去网上下载 VNCViewer。打开百度,搜索“VNCViewer”。第一条就是 VNCViewer的下载页面,点击进入。
v10

默认就是 Windows的下载按钮,直接点击下载。VNCViewer并不大,才10M左右,很快就可以下载完成。
v11

安装 VNCViewer很简单,同意许可条款,一路 next就行了。但是安装的时候可能会遇到无法访问 Smart Screen的问题,请参考这篇文章解决 win10 安装文件 无法访问smartscreen解决方法
v12

安装完成后,启动界面如下
v13

在输入框中输入输入远程ECS实例的公网IP地址和桌面号,类似“IP地址:1”这种格式,比如 49.37.62.53:1。输入完成之后,按回车键即可开始远程连接。

弹出以下界面,点击 continue即可。
v14

第一次连接的话,会弹出窗口输入密码。密码就是我们之前配置 VNCServer时候设置的密码,点击记住密码。这样以后连接就不用再输密码了。
v15

连接成功,图形界面已经呈现在我们的眼前,而且顶部的菜单栏和底部栏都有显示。
v17

我们可以在空白桌面上点击鼠标右键,打开终端 Terminal。
v18

也可以通过顶部菜单栏来选择打开 Ubuntu系统自带的应用,比如 Firefox浏览器。
v19

至此,VNC远程连接阿里云 ECS实例的 Ubuntu系统配置完毕,大功告成。

可能出现的报错

如果 VNC使用了一段时间之后,再次连接时可能会出现“too many security failures”错误。这是因为有人想要暴力破解,触发了 VNC的黑名单机制。为了保护你的服务器,VNC现在拒绝登录。
v20

解决方法有两种:

  1. 杀掉 VNCServer进程,再重新启动
vncserver -kill :1
vncserver :1
  1. 先忽略黑名单,登录 VNC后,再重置黑名单(这样可以起到保护作用)
//请使用管理员权限
vncconfig -display :1 -set BlacklistTimeout=0 -set BlacklistThreshold=1000

vncconfig -display :1 -set BlacklistTimeout=600000000000 -set BlacklistThreshold=10
  • display :指定桌面号 (一般为1)
  • BlacklistTimeout : 设置黑名单的过期时间(默认过期时间是600秒,这里设置的很大,是为了延长黑名单的时间)
  • BlacklistThreshold : 允许的失败次数

参考文章

阿里官方-用VNC搭建Ubuntu VNC可视化界面

使用VNC远程连接ECS实例中的Ubuntu系统

VNC 在ubuntu desktop下只显示空白桌面

ubuntu中VNC的安装配置笔记

VNC error: too many security failures

发布了61 篇原创文章 · 获赞 25 · 访问量 7189

猜你喜欢

转载自blog.csdn.net/qq_42582489/article/details/104569409