侧边栏壁纸
  • 累计撰写 402 篇文章
  • 累计创建 63 个标签
  • 累计收到 122 条评论

目 录CONTENT

文章目录

阿里云购买境外轻量应用服务器,并搭建VNC远程桌面访问

Z同学
2022-12-01 / 0 评论 / 3 点赞 / 197 阅读 / 3,153 字
温馨提示:
本文最后更新于 2022-12-01,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1. 介绍

最近学习到通过VNC搭建Ubuntu的图像界面,想购买一个境外服务器搭建一个VNC。然后在国内通过Windowx系统 远程访问,实现科学上网。

PS:可以通过各种方式上网。尝试过通过vpn,但没有跑通。这里尝试一下vnc吧。

2. 购买服务器

首先,先购买一台阿里云的境外的轻量应用服务器。

购买链接:

https://www.aliyun.com/product/swas?source=5176.11533457&source=5176.11533457&userCode=w5jkvc5z

image-20221130103108734

选择亚太,或中国香港都可以。

PS:其他国家及地区提供的带宽主要面向非中国内地的用户。如果您在中国内地,使用这些地域会有较长的访问延迟,不建议您使用。

阿里云提示我们,购买后,可能会有比较大的访问延迟。

但是没关系,科学访问本身就不会很稳定。

选择系统镜像:Ubuntu系统 20.04版本。

image-20221130103313588

由于我们只是试试自用,可选择最低的套餐::

image-20221130103337913

一个月24元的。可以提供每个月1T的流量访问。

如果我们使用的流量费用操过之后,会按照以下费用进行收费:

地域 流量单价(元/GB)
中国内地 0.8
中国(香港) 1
新加坡 0.53

PS: 所以建议选择新加坡的服务器

但是没有关系,我们服务器的固定流量配额使用操过50%,80%和95%的时候,阿里云会给我们发短信和站内消息通知我们,流量使用情况。

套餐默认提供了ESSD 40GB,所以我们完全可以不用购买额外的数据盘。

PS:毕竟只是想尝试远程访问而已。40G已经完全够我们使用了

image-20221130103833858

可以先选择一个月的先试用一下。如果觉得合适再进行续费增加时长。

image-20221130103935607

后面的按照正常的支付流程,进行付款就可以了。 付款成功后效果如下:

image-20221130104057381

创建成功后,会给我们的手机发送短信,邮件等消息提醒。

我们进入管理控制台界面,就可以看到我们购买的服务器了。

1239dasda

2.1 配置服务器

当我们购买完毕,通过管理控制台访问服务器实例,可以在服务器信息中,看到我们的远程服务器的ip地址。我们通过公网ip地址就可以进行访问了。

我们需要先进行重置密码。创建我们的ubuntu 服务器的root 访问密码。

1234

修改完毕后,我们就可以通过SSH远程访问的方式访问服务器了。

因为默认情况下,轻量应用服务器防火墙就放行了SSH端口。

image-20221130105416816

我们可以自己远程登录之后,修改SSH的默认端口,提高安全性。修复方法可以参考:Linux 更换SSH默认22端口,禁用ping 指令,提高安全性 (zinyan.com)这篇文章的内容。

这里我就不深入介绍了。我们可以使用Xshell等工具远程登录,

因为已经得到到了root密码。公网ip,SSH端口号22。那么使用SSH远程访问就轻松的很了。登录成功后的效果如下所示:

image-20221130105716691

同时可以试试服务器访问google:

root@iZt4nhagr1ztpwhuxdp9eoZ:~# ping google.com
PING google.com (142.251.10.100) 56(84) bytes of data.
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=1 ttl=57 time=2.72 ms
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=2 ttl=57 time=2.75 ms
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=3 ttl=57 time=2.72 ms
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=4 ttl=57 time=2.72 ms
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=5 ttl=57 time=2.71 ms
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=6 ttl=57 time=2.71 ms
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=7 ttl=57 time=2.72 ms
64 bytes from sd-in-f100.1e100.net (142.251.10.100): icmp_seq=8 ttl=57 time=2.71 ms

image-20221130105842872

代表服务器正常了,现在就是在服务器上搭建vnc服务端,然后我们再通过vnc 客户端,远程访问就可以了。

3. 配置VNC

VNC 全称:Virtual Network Console。它可以将ubuntn操作界面映射为图像界面,并在远程windows系统中通过VNC Viewer客户端访问。

下面介绍详细配置步骤。

首先更新apt软件源:apt-get update

root@iZt4nhagr1ztpwhuxdp9eoZ:~# apt-get update
Get:1 http://mirrors.cloud.aliyuncs.com/ubuntu focal InRelease [265 kB]
Get:2 http://mirrors.cloud.aliyuncs.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://mirrors.cloud.aliyuncs.com/ubuntu focal-security InRelease [114 kB]
Get:4 http://mirrors.cloud.aliyuncs.com/ubuntu focal/universe Sources [9,707 kB]
Get:5 http://mirrors.cloud.aliyuncs.com/ubuntu focal/main Sources [847 kB]
...
Reading package lists... Done
root@iZt4nhagr1ztpwhuxdp9eoZ:~#  

出现Reading package lists… Done 就代表更新完毕了。

第二步,安装桌面环境所需要的软件包:例如,系统面板,窗口管理器,文件浏览器,终端等桌面应用程序。

使用命令为:apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop

完整示例如下所示:

root@iZt4nhagr1ztpwhuxdp9eoZ:~# apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop

...
22 upgraded, 1183 newly installed, 0 to remove and 248 not upgraded.
Need to get 687 MB of archives.
After this operation, 2,802 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

上面内容翻译后:

22个升级,1183个新安装,0个要删除,248个未升级。

需要获得687 MB的存档。

此操作之后,将使用2802MB的额外磁盘空间。

当我们输入y并按回车之后,就会开始进行安装下载操作了。

整个下载过程和安装过程会需要一些时间。最后的Progress 99% 是最慢的。

安装完毕之后会输出:

Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.40.0+dfsg-3ubuntu0.4) ...
Processing triggers for rygel (0.38.3-1ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Processing triggers for sgml-base (1.29.1) ...
root@iZt4nhagr1ztpwhuxdp9eoZ:~# 

第三步,就是安装vnc了,安装命令为:apt-get install tightvncserver。完整示例如下:

root@iZt4nhagr1ztpwhuxdp9eoZ:~# apt-get install tightvncserver
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  tightvnc-java
The following NEW packages will be installed:
  tightvncserver
0 upgraded, 1 newly installed, 0 to remove and 248 not upgraded.
Need to get 663 kB of archives.
After this operation, 1,891 kB of additional disk space will be used.
Get:1 http://mirrors.cloud.aliyuncs.com/ubuntu focal/universe amd64 tightvncserver amd64 1.3.10-0ubuntu5 [663 kB]
Fetched 663 kB in 0s (1,562 kB/s)      
Selecting previously unselected package tightvncserver.
(Reading database ... 191688 files and directories currently installed.)
Preparing to unpack .../tightvncserver_1.3.10-0ubuntu5_amd64.deb ...
Unpacking tightvncserver (1.3.10-0ubuntu5) ...
Setting up tightvncserver (1.3.10-0ubuntu5) ...
update-alternatives: using /usr/bin/tightvncserver to provide /usr/bin/vncserver (vncserver) in auto mode
update-alternatives: using /usr/bin/Xtightvnc to provide /usr/bin/Xvnc (Xvnc) in auto mode
update-alternatives: using /usr/bin/tightvncpasswd to provide /usr/bin/vncpasswd (vncpasswd) in auto mode
Processing triggers for man-db (2.9.1-1) ...

PS: 如果你的ubuntu 是18.0 的版本,那么安装命令有差异,需要使用:

apt-get install vnc4server

安装完毕后,通过vncserver 命令启动VNC服务。示例如下:

root@iZt4nhagr1ztpwhuxdp9eoZ:~# vncserver

You will require a password to access your desktops.

Password: 

我们第一次启动,需要配置VNC的登录密码。(PS:密码长度为8位,如果长度超过了,系统将会自动截取前8位字符。请注意哦)

我们输入的密码不会显示出来,输入之后回车就会让我们再次确认 Verify。我们再次输出密码。

当我们两次密码输入完毕后,会出现:Would you like to enter a view-only password 是否设置为仅查看密码。我们选择n

示例如下:

You will require a password to access your desktops.

Password: 
Verify:   
Would you like to enter a view-only password (y/n)? n

出现以下内容代表我们配置成功了:

New 'Zinyan.com' desktop is iZt4nhagr1ztpwhuxdp9eoZ:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/iZt4nhagr1ztpwhuxdp9eoZ:1.log

通过cp命令,备份VNC的xstartup配置文件。示例如下:(PS:也可以不备份,只是备份之后,我们修改错误了配置还可以用备份进行恢复而已)

root@iZt4nhagr1ztpwhuxdp9eoZ:~# cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

修改VNC的xstartup配置: vim ~/.vnc/xstartup 示例效果如下:

root@iZt4nhagr1ztpwhuxdp9eoZ:~# vim ~/.vnc/xstartup 

在打开的vim编译界面,默认如下所示:

#!/bin/sh
  
xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
~                                                                                                   
~                                                                                                   
~                                                                                                   
~                                                                                                   
~                              

然后修改成下面所示:

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &                                                                             ~                              

如果不了解vim的使用,可以通过文章:Linux vim 命令介绍和使用 (zinyan.com) 了解,

通过i键,进入编辑模式,通过Esc退出编辑模式,通过:wq 保存编辑后的内容。

然后执行重启VNC操作,首先关闭已经启动的vnc服务:

root@iZt4nhagr1ztpwhuxdp9eoZ:~# vncserver -kill :1
Killing Xtightvnc process ID 49841

然后,运行命令,启动一个新的VNC服务:vncserver -geometry 1920x1080 :1(PS: 1920x1080 是等会远程界面的数据源分辨率)

root@iZt4nhagr1ztpwhuxdp9eoZ:~# vncserver -geometry 1920x1080 :1

New 'Zinyan.com' desktop is iZt4nhagr1ztpwhuxdp9eoZ:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/iZt4nhagr1ztpwhuxdp9eoZ:1.log

输出上面的效果,就代表启动配置完毕了。

4. 开放VNC端口

我们使用VNC Viewer工具远程访问Linux 服务器的时候,是访问的5900和5901端口。

所以我们需要开放这两个端口,开放方式通过阿里云的管理面板中的防火墙进行开启。

image-20221130133652406

通过右侧的添加规则按钮,添加两个自定义规则

image-20221130133800623

规则开放完毕后,我们就可以配置客户端了。

5. windows 安装 VNC View 客户端

在VNC的官网下载地址:Download VNC Viewer | VNC® Connect (realvnc.com)获取最新的客户端。

image-20221130133951160

下载完毕,默认安装后的首次启动页面为:

image-20221130134148530

我们可以不用登录,关闭登录界面。先进行试用在说。

image-20221130134324348

选择 New connection 选项。在打开的Properties面板中填写我们的服务器相关信息。

image-20221130134422393

主要是VNC Server信息,输入我们的服务器地址,和vnc的端口号。格式为:<Ubuntu服务器公网IP>:<VNC的端口号>

示例: 123.xx.xx.xx:1 (PS:默认的VNC的端口号就是1,我们在启动的过程中时有输出提示)

第二个Name 输入自定义的Ubuntu桌面的名称。例如:zinyan

下面的内容保持不变,点击: OK按钮就可以了。

然后就会多上一个命名为zinyan 的选项卡了。我们双击启动这个对象时,首次启动会弹出:

23123

我们翻译一下内容就是:

image-20221130135212552

告诉我们这样连接会有被拦截的风险,我们不用在意,可以点击:Continue 继续。

如果不想每次启动的时候进行提示,可以勾选: Don’t warn me about this again.

接着就会弹出输入密码的界面:

image-20221130135543769

这个密码不是ubuntu 服务器的登录密码。而是我们在配置VNC服务的时候,创建的8位数长度的密码。

输入完毕,点击OK,就会开始进行连接了。

连接成功后的效果:

image-20221130135846322

我们就可以通过windows 通过远程窗口进行操作服务器了。

6. 小结

通过在服务器搭建VNC,是可以在windows中通过远程桌面进行控制访问。

但是如果想通过这种方式实现上网浏览网页啥的,并不是很理想。因为延迟是真的太高了。响应速度比较慢。比较适合网络本身稳定的环境下使用吧。

还不如搭建Shadowsocks 代理呢。

3

评论区