在 Ubuntu 中安装 Guacamole 用于远程访问 Linux/Windows


在当今互联互通的世界中,远程访问 Linux 和 Windows 计算机对于高效的系统管理和故障排除至关重要。Guacamole 是一款开源的无客户端远程桌面网关,允许您仅使用 Web 浏览器从任何地方访问您的计算机。本文将指导您完成在 Ubuntu 上安装 Guacamole 的过程,并演示如何远程访问 Linux 和 Windows 系统。

先决条件

在开始之前,请确保您已具备以下先决条件:

  • 运行 Ubuntu(版本 18.04 或更高版本)并具有管理员权限的计算机。

  • 稳定的互联网连接。

  • 让我们开始吧!

步骤 1:更新系统软件包

首先,让我们通过运行以下命令更新 Ubuntu 计算机上的系统软件包:

sudo apt update
sudo apt upgrade -y

这些命令将更新您的软件包列表并升级系统上任何过时的软件包。

步骤 2:安装依赖项

Guacamole 需要几个依赖项才能正常运行。运行以下命令来安装它们:

sudo apt install -y libcairo2 libjpeg-turbo8 libjpeg-turbo8-dev libpng-dev libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev tomcat9 tomcat9-admin tomcat9-common tomcat9-user

此命令将安装 Guacamole 正确运行所需的必要库和工具。

步骤 3:下载并安装 Guacamole 服务器

现在,让我们按照以下步骤下载并安装 Guacamole 服务器组件:

示例

使用 wget 下载 Guacamole 服务器源代码归档文件:

wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz

输出

--2023-06-29 12:00:00--  https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz
Resolving downloads.apache.org (downloads.apache.org)... 207.244.88.140, 40.79.78.1, 88.99.95.219, ...
Connecting to downloads.apache.org (downloads.apache.org)|207.244.88.140|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2483457 (2.4M) [application/x-gzip]
Saving to: ‘guacamole-server-1.3.0.tar.gz’

guacamole-server-1.3.0.tar.gz            100%[====================================================================>]   2.37M  --.-KB/s    in 0.1s

2023-06-29 12:00:00 (23.4 MB/s) - ‘guacamole-server-1.3.0.tar.gz’ saved [2483457/2483457]

解压缩下载的归档文件:

示例

tar -xzf guacamole-server-1.3.0.tar.gz

输出

guacamole-server-1.3.0/
guacamole-server-1.3.0/src/
guacamole-server-1.3.0/src/modules/
guacamole-server-1.3.0/src/modules/rdp/
guacamole-server-1.3.0/src/modules/rdp/README
guacamole-server-1.3.0/src/modules/rdp/rdp_settings.c
guacamole-server-1.3.0/src/modules/rdp/rdp_cache.c
guacamole-server-1.3.0/src/modules/rdp/rdp_fs.c
guacamole-server-1.3.0/src/modules/rdp/rdp_cliprdr.c
guacamole-server-1.3.0/src/modules/rdp/rdpdr_messages.c
guacamole-server-1.3.0/src/modules/rdp/rdpdr_fs_messages.c
guacamole-server-1.3.0/src/modules/rdp/rdp_svc.c
guacamole-server-1.3.0/src/modules/rdp/rdpdr_messages.h
...

切换到解压缩的目录:

示例

cd guacamole-server-1.3.0

配置构建:

./configure --with-init-dir=/etc/init.d

输出

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
...

构建并安装 Guacamole 服务器:

示例

make
sudo make install
sudo ldconfig

输出

...
make[1]: Entering directory '/path/to/package'
make[2]: Entering directory '/path/to/package/src'
/bin/mkdir -p '/usr/local/bin'
/bin/mkdir -p '/usr/local/lib'
/usr/bin/install -c program_name '/usr/local/bin'
/usr/bin/install -c -m 644 libname.so '/usr/local/lib'
/usr/bin/install -c -m 644 header.h '/usr/local/include'
make[2]: Leaving directory '/path/to/package/src'
make[1]: Leaving directory '/path/to/package'

步骤 4:配置 Guacamole

安装服务器后,是时候配置 Guacamole 了。以下是如何操作:

复制示例 Guacamole 配置文件:

sudo cp guacamole-server-1.3.0/guacamole-server/src/main/webapp/WEB-INF/guacamole.properties.example /etc/guacamole/guacamole.properties

使用您选择的文本编辑器编辑配置文件。例如:

sudo nano /etc/guacamole/guacamole.properties

在此文件中,您可以自定义各种设置,例如数据库连接详细信息、身份验证机制等。编辑完文件后,请确保保存更改。

步骤 5:部署 Guacamole Web 应用程序

要在您的 Ubuntu 计算机上部署 Guacamole Web 应用程序,请按照以下步骤操作:

下载 Guacamole Web 应用程序归档文件:

wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war -O guacamole.war

将下载的归档文件移动到 Tomcat webapps 目录:

sudo mv guacamole.war /var/lib/tomcat9/webapps/guacamole.war

重新启动 Tomcat 以使更改生效:

sudo systemctl restart tomcat9

步骤 6:访问 Guacamole Web 界面

此时,Guacamole 已安装并可以使用。要访问 Guacamole Web 界面,请打开您的 Web 浏览器并输入以下 URL:

http://<your-server-ip>:8080/guacamole/

将 <your-server-ip> 替换为您 Ubuntu 计算机的 IP 地址或域名。您应该会看到 Guacamole 登录屏幕。

步骤 7:配置 Guacamole 用户和连接

要开始使用 Guacamole,您需要配置用户和连接。以下是如何操作:

打开 Guacamole 配置文件:

sudo nano /etc/guacamole/guacamole.properties

取消注释 # auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider 行并保存文件。

为用户身份验证创建一个新文件:

sudo nano /etc/guacamole/user-mapping.xml

将用户和连接配置添加到 user-mapping.xml 文件中。以下是 Linux 计算机的示例配置:

<?xml version="1.0" encoding="UTF-8"?>
<user-mapping>
   <authorize username="user1" password="password1">
      <connection name="Linux Server">
         <protocol>ssh</protocol>
         <param name="hostname">192.168.1.100</param>
         <param name="port">22</param>
         <param name="username">remoteuser</param>
      </connection>
   </authorize>
</user-mapping>

在此示例中,配置了名为“user1”且密码为“password1”的用户以通过 SSH 连接到 Linux 服务器。

保存 user-mapping.xml 文件。

重新启动 Tomcat 以应用配置更改:

sudo systemctl restart tomcat9

结论

恭喜!您已成功在 Guacamole 中配置了用户和连接,使您可以轻松访问远程 Linux 和 Windows 计算机。Guacamole 提供了一种方便且安全的方式,可以通过 Web 浏览器远程管理您的系统。

请记住定期更新和维护您的 Guacamole 安装,以利用最新的功能和安全补丁。

享受 Guacamole 带来的远程访问便利!

更新于: 2023年7月17日

3K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告