介绍

VNC(虚拟网络计算)是一个系统,它使用户能够连接远程计算机的图形桌面并与之交互。它可以通过网络传输屏幕更新以及键盘和鼠标事件。

当您的服务器需要图形桌面环境时,VNC 非常有用。

XFCE 是一个轻量级的桌面环境。因为它对系统资源要求低,而且很多 VNC 用户都熟悉它,所以我们将在本教程中使用 XFCE。但是,您也可以使用自己喜欢的桌面环境,例如 Gnome 或 KDE。

在本教程中,我们将设置一个 Debian 8 服务器,在其上安装 XFCE 桌面环境,并通过 VNC 连接它。此外,我们将为 VNC 服务器创建一个启动脚本并通过 SSH 保护它。

先决条件

请完成以下先决条件。

  • 具有 root 访问权限的 Debian 8(或 8.1)Droplet。 512 MB 的 RAM 足以运行 VNC 和 XFCE,但您可能需要更大的 Droplet,具体取决于您打算如何使用图形界面

  • VNC 查看器(客户端)在您的计算机上连接到您的服务器。在本教程中,我们将在 Windows 上使用 UltraVNC,但您可以使用其他 VNC 客户端。您可以在 这里 下载 UltraVNC。 OS X 带有一个内置的 VNC 客户端,称为屏幕共享

  • SSH 客户端通过 SSH 建立安全连接。我们将在 Windows 上使用 PuTTY。您可以在 这里 下载 PuTTY。在 OS X 上,只需使用内置的终端应用程序

步骤 1 — 安装 VNC 和 XFCE

在这一步中,我们将安装 VNC 服务器和 XFCE 桌面环境,以及附加软件和图标包。

更新服务器的软件包列表:

apt-get 更新

升级软件包本身:

apt-get -y 升级

然后,我们将安装 tightvncserver 和 XFCE4 以及一些有用的插件和一个图标主题:

apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver

默认情况下没有安装浏览器。如果您想从 VNC 连接访问网络,您可以安装 iceweasel(这是 Mozilla Firefox for Debian 的更名版本):

apt-get 安装 iceweasel

步骤 2 — 创建 VNC 用户

我们将为 VNC 连接创建一个单独的用户,以保持安全和整洁。强烈建议使用 sudo,而不是直接为您的 VNC 服务器使用 root 用户。

您可以使用以下命令将名为 vnc 的用户添加到您的 Debian Droplet:

被带到那里

给你的新用户一个密码。您只需按“ENTER”即可跳过所有其他问题。

通过执行以下命令安装sudo:

apt-get 安装 sudo

将新的 vnc 用户添加到 sudo 组,这将授予该用户执行 root 命令的权限。

gpasswd -a vnc 须藤

让我们切换到 vnc 用户:

是-vnc

第 3 步 — 启动和停止 VNC 服务器

作为我们新创建的 vnc 用户,我们可以启动 VNC Server 并测试我们的连接。

启动 VNC 服务器:

vnc服务器

由于这是您第一次运行服务器,您将被要求设置客户端用于连接的密码。请记住此密码以备后用!您还可以设置仅查看密码,这将允许用户查看屏幕但不能与之交互。密码应为 6-8 个字符

当服务器启动时,您将收到有关您的显示编号的通知。

输出

xauth: 文件 /home/vnc/.Xauthority 不存在

新的“X”桌面是 vnc:1

创建默认启动脚本 /home/vnc/.vnc/xstartup
启动 /home/vnc/.vnc/xstartup 中指定的应用程序
日志文件是 /home/vnc/.vnc/vnc:1.log

默认情况下,VNC 连接在从 5901 开始的端口上提供服务,用于第一次显示。您的第二个显示器将在端口“5902”等上提供服务。

现在不要停止服务器,但我们包含停止命令以供参考。

使用此命令在“Display 1”(和端口“5901”)上停止 VNC 服务器:

vncserver -kill :1

:1 是您要杀死的显示编号。

当您想再次连接时,您可以手动启动 VNC Server。我们将在后面的步骤中为 VNC Server 创建一个服务。

第 4 步 — 从 VNC 客户端连接

您现在可以连接到您的 VNC 服务器。打开您的本地 VNC 客户端,具体取决于您的操作系统。

在 Windows 上,您可以使用 UltraVNC 此处。

在 OS X 上,您可以使用内置的屏幕共享应用程序或通过 Safari 访问此应用程序。在 Safari 中,您可以输入 vnc://your_server_ip:5901

对于您的 VNC 服务器地址,输入 your_server_ip:5901 并使用您刚刚为 VNC 连接设置的密码。

您可以选择 XFCE 欢迎屏幕上的 Use default config 按钮以轻松开始:

Xubuntu 欢迎界面

现在您可以使用远程桌面了!

步骤 5 — 创建一个 systemd 服务来自动启动 VNC 服务器

在本节中,我们将 VNC 服务器添加到 systemd。使用服务可用于启动和停止 VNC 服务器,以及在重新启动 Droplet 时自动启动它。

首先,让我们杀死当前实例:

vncserver -kill :1

创建一个简单的脚本来轻松管理和配置我们的 VNC 服务器:

作为 vnc 或其他 sudo 用户,使用您喜欢的文本编辑器创建脚本文件。

须藤纳米/usr/local/bin/myvncserver

准确添加这些内容。该脚本为 VNC 提供了一些启动参数。

/usr/local/bin/myvncserver

#!/bin/bash
pathu003d"$path:/user/bin/"
显示u003d“1”
深度u003d“16”
几何u003d"1024x768"
选项u003d"-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

案例“$1”在
开始)
/usr/bin/vncserver ${选项}
;;

停止)
/usr/bin/vncserver -kill :${DISPLAY}
;;

重新开始)
$0 停止
$0 开始
;;
经社理事会
出口 0

您可以修改脚本以更改 VNC 连接的颜色深度或分辨率。

如果你使用 nano,你可以通过 CTRL+O 保存文件并通过 CTRL+X 退出。

使文件可执行:

sudo chmod +x /usr/local/bin/myvncserver

我们的脚本将帮助我们轻松修改设置和启动/停止 VNC Server。

如果您愿意,您可以手动调用脚本以使用所需的配置在端口 5901 上启动/停止 VNC 服务器。

sudo /usr/local/bin/myvncserver 启动
sudo /usr/local/bin/myvncserver 停止
sudo /usr/local/bin/myvncserver 重启

我们现在可以为我们的服务创建一个 单元文件。单元文件用于描述服务并告诉计算机如何启动/停止或重新启动服务。

Sudonano / ib / sys md / sys m / my v c r er。服务

将这些命令复制到服务文件。我们的服务将简单地使用用户 vnc 调用上面的启动脚本。

/lib/systemd/system/myvncserver.service

[单元]
描述u003d管理此 Droplet 上的 VNC 服务器

[服务]
类型u003d分叉
ExecStartu003d/usr/local/bin/myvncserver 启动
ExecStopu003d/usr/local/bin/myvncserver 停止
ExecReloadu003d/usr/local/bin/myvncserver重启
用户u003dvnc

[安装]
WantedByu003d多用户.target

现在我们可以重新加载 systemctl 并启用我们的服务:

sudo systemctl daemon-reload
sudo systemctl enable myvncserver.service

您现在已启用新服务。使用这些命令来启动、停止或重新启动使用 systemctl 命令的服务:

sudo systemctl start myvncserver.service
sudo systemctl stop myvncserver.service
sudo systemctl 启动 vncserver.service

现在,您可以在 Droplet 上将 VNC 服务器作为服务运行。

第 6 步 — 使用 SSH 隧道保护您的 VNC 服务器

默认情况下,VNC 连接不使用加密,因此建议使用 SSH 隧道来保护您的会话。

为此,我们将只让我们的 VNC 服务器在 localhost 上服务。您可以通过将 -localhost 添加到上一步中创建的启动脚本中的 OPTIONS 行来做到这一点。

首先,停止VNC服务器:

sudo systemctl stop myvncserver.service

编辑您的配置脚本:

须藤纳米/usr/local/bin/myvncserver

更改此行:

/usr/local/bin/myvncserver

. . .

选项u003d"-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. . .

将其替换为:

/usr/local/bin/myvncserver

. . .

选项u003d"-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"

. . .

重启 VNC 服务器:

sudo systemctl start myvncserver.service

现在您无法从远程计算机直接连接到您的 VNC 服务器。

视窗:

我们将使用 PuTTY 创建一个 SSH 隧道,然后通过我们创建的隧道进行连接。

打开腻子。

从左侧菜单中,转到 Connection->SSH->Tunnels 部分。

Add New Forwarded Port 部分,输入 5901 作为 Source portlocalhost:5901 作为 Destination

单击添加按钮。

PuTTY SSH隧道配置

您现在可以转到左侧菜单中的 Session 部分。

Host Name (or IP address) 字段中输入您的 Droplet 的 IP 地址。

单击打开按钮进行连接。您还可以保存这些选项以供以后使用。

PuTTY SSH 连接

使用您的 vnc 用户登录。

进行 VNC 连接时,请保持 PuTTY 窗口打开。

现在您可以像往常一样使用您的 VNC 查看器了。只需输入 localhost::5901 作为地址,并在后台保持 SSH 连接。

UltraVNC 查看器:localhost::5901

操作系统:

要建立 SSH 隧道,请在终端中使用以下行:

ssh vnc@your_server_ip -L 5901:localhost:5901

为 SSH 的 vnc 用户正常进行身份验证。然后,在屏幕共享应用程序中,使用 localhost:5901

结论

现在您可以在 Debian 8 服务器上使用共享远程桌面。

使用它来配置您的服务器,或与他人共享您的屏幕。

Logo

更多推荐