安装Guacamole
Ubuntu 没有将 Guacamole 打包到它的存储库中。
如果你想在 Ubuntu 中安装 Guacamole,你需要自己编译源代码并构建它。
下载Guacamole:
cd /tmp wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz
下载后提取下载包。
tar -xvzf guacamole-server-1.3.0.tar.gz
解压缩文件后,切换到解压缩的文件夹并运行以下命令,检查是否满足所有要求。
cd guacamole-server-1.3.0 sudo ./configure --with-init-dir=/etc/init.d
检查完毕后,运行以下命令开始安装。
sudo make sudo make install sudo ldconfig
安装后,可以使用下面的命令来启动和启用 Guacamole 服务在系统启动时始终启动。
sudo systemctl enable guacd sudo systemctl start guacd
检查 guacamole 是否已安装并正常运行 令:
sudo systemctl status guacd
输出:
● guacd.service - LSB: Guacamole proxy daemon Loaded: loaded (/etc/init.d/guacd; generated) Active: active (running) since Fri 2021-02-26 16:22:10 CST; 8s ago Docs: man:systemd-sysv-generator(8) Process: 20381 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUC> Tasks: 1 (limit: 4654) Memory: 10.0M CGroup: /system.slice/guacd.service └─20384 /usr/local/sbin/guacd -p /var/run/guacd.pid Nov 26 16:22:10 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon.
安装guacamole客户端
安装完上面的服务器后,下面继续安装它的客户端。
客户端是基于 Java 的,并使用 HTML5 与远程机器建立连接。
运行以下命令下载 Java 客户端。
wget https://mirrors.estointernet.in/apache/guacamole/1.3.0/binary/guacamole-1.3.0.war
下载文件后,使用以下命令将其复制到/etc/guacamole目录:
sudo mkdir /etc/guacamole sudo mv guacamole-1.3.0.war /etc/guacamole/guacamole.war
之后运行以下命令以创建 guacamole 客户端到 Tomcat webapps 目录的符号链接。
sudo ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
完成后,重新启动 Tomcat8 和 Guacamole 服务。
sudo systemctl restart tomcat9 sudo systemctl restart guacd
配置Guacamole
创建配置属性文件。
sudo nano /etc/guacamole/guacamole.properties
添加下面内容,并保存
guacd-hostname: localhost guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml
完成后保存退出。
接下来运行以下命令为库和扩展创建两个目录。
sudo mkdir /etc/guacamole/{extensions,lib}
我们还需要在/etc/default/tomcat9
配置文件中设置 guacamole 主目录环境变量 。
sudo sh -c "echo 'GUACAMOLE_HOME=/etc/guacamole' >> /etc/default/tomcat9"
之后,创建一个 user-mapping.xml
文件。
此文件将包含访问 Web 门户的设置。
我们将需要用户映射配置的密码哈希。
要生成密码,请使用以下命令。
echo -n type_your_password_here | openssl md5
type_your_password_here是我们要设置的密码。
那应该是一个密码哈希。
复制哈希值以在下面的配置中使用。
创建新的 user-mapping.xml文件
sudo nano /etc/guacamole/user-mapping.xml
然后将下面的内容复制并粘贴到文件中并保存。
<user-mapping> <authorize username="admin" password="36160e235d67eb4d4e234r449a4798ee37a8d" encoding="md5"> <connection name="Ubuntu20.04-Server"> <protocol>ssh</protocol> <param name="hostname">192.168.1.2</param> <param name="port">22</param> <param name="username">root</param> </connection> <connection name="Windows Server"> <protocol>rdp</protocol> <param name="hostname">192.168.2.3</param> <param name="port">3389</param> </connection> </authorize> </user-mapping>
保存并退出。
36160e235d67eb4d4e234r449a4798ee37a8d 是前面创建的加密密码。
接下来,重新启动 Tomcat 和 Guacamole 服务使更改生效。
sudo systemctl restart tomcat9 sudo systemctl restart guacd
打开浏览器并输入服务器主机名或者 IP 地址,如下所示:
http://localhost:8080/guacamole
将会看到 Guacamole 登录页面。
输入我们在上面的用户映射文件中定义的用户名和密码即可登录。
安装依赖
在安装 Guacamole 之前,我们需要安装所需的依赖项才能从源代码构建它。
运行以下命令来更新 Ubuntu 并安装这些软件包。
sudo apt update sudo apt install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev
安装Tomcat服务器
Apache Guacamole 使用 Tomcat 通过其 Web 门户将客户端连接到远程主机。
由于我们将需要 Tomcat,请运行以下命令在 Ubuntu 上快速安装tomcat版本 9.
sudo apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user
启动并设置开机自启动:
sudo systemctl start tomcat9 sudo systemctl enable tomcat9
要验证 Tomcat 是否已安装并正在运行,请运行以下命令:
sudo systemctl status tomcat9
这将显示类似如下的状态信息:
● tomcat9.service - Apache Tomcat 9 Web Application Server Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor prese> Active: active (running) since Fri 2021-02-26 16:12:16 CST; 55s ago Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html Main PID: 8809 (java) Tasks: 29 (limit: 4654) Memory: 81.0M CGroup: /system.slice/tomcat9.service └─8809 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.conf> Nov 26 16:12:27 ubuntu2004 tomcat9[8809]: Deployment of deployment descriptor [>
Apache Guacamole 是免费的开源无客户端远程桌面网关。
它支持标准协议,如 VNC、RDP 和 SSH。
因为它使用 HTML5,我们需要做的就是通过 Web 浏览器连接到服务器并开始访问远程机器。