在Ubuntu 21.04上安裝Apache Guacamole

在本指南中,我們將學習如何安裝 阿帕奇鱷梨醬 在Ubuntu 21.04上。 Apache Guacamole是基於HTML5 Web的無客戶端遠程桌面網關,可通過Web瀏覽器遠程訪問服務器和桌面。它支持標準協議,例如VNC,RDP和SSH。

在Ubuntu 21.04上安裝Apache Guacamole

鱷梨調味醬由兩部分組成;

  • guacamole-server,它提供guacd代理以及Guacamole連接到遠程桌面所需的所有本機服務器端組件。
  • guacamole-client 它提供了由servlet容器提供服務的客戶端,通常是 Tomcat

您需要安裝這兩個組件來設置Apache Guacamole基於Web的遠程桌面客戶端。

在Ubuntu 21.04上安裝Guacamole Server

運行系統更新

確保系統軟件包緩存是最新的;

apt update

安裝所需的構建工具

要安裝guacamole-server,您需要從源代碼構建它。因此,這要求您必須先安裝必需的構建工具,然後才能開始構建guacamole-server組件。

apt install -y build-essential libcairo2-dev libjpeg-turbo8-dev libpng-dev 
libtool-bin libossp-uuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev 
freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev 
libssl-dev libvorbis-dev libwebp-dev

有關這些依賴工具的全面說明,請參見 所需的依賴項 部分。

在Ubuntu 21.04上構建Guacamole服務器

要構建guacamole服務器,請從以下位置下載最新的源存檔tarball: 鱷梨醬發布頁面Apache鱷梨醬1.3.0 是撰寫本文時的最新發行版。

您只需運行以下命令即可下載Apache Guacamole 1.3.0。

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

下載完成後,解壓縮源tarball。

tar xzf guacamole-server-1.3.0.tar.gz

導航到鱷梨醬服務器源代碼目錄;

cd guacamole-server-1.3.0

跑過 configure 腳本來檢查是否缺少任何必需的依賴性,並使Guacamole服務器適應您的系統。

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

有關更多配置選項,請運行, ./configure --help

...
------------------------------------------------
guacamole-server version 1.3.0
------------------------------------------------

   Library status:

     freerdp2 ............ yes
     pango ............... yes
     libavcodec .......... yes
     libavformat.......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ no
     libwebsockets ....... no
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      Kubernetes .... no
      RDP ........... yes
      SSH ........... yes
      Telnet ........ yes
      VNC ........... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes
      guaclog .... yes

   FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

注意走出 configure 腳本。

在Ubuntu 21.04上編譯並安裝Guacamole Server;

make
make install

接下來,運行 ldconfig 命令創建必要的鏈接並緩存到在鱷梨醬服務器目錄中找到的最新共享庫。

ldconfig

在Ubuntu 21.04上運行Guacamole-Server

重新加載systemd配置文件,並在安裝後啟動並啟用guacd(Guacamole Daemon)在啟動時運行。

systemctl daemon-reload
systemctl start guacd
systemctl enable guacd

檢查狀態;

systemctl status guacd
● guacd.service - LSB: Guacamole proxy daemon
     Loaded: loaded (/etc/init.d/guacd; generated)
     Active: active (running) since Sat 2021-03-27 05:12:24 UTC; 1s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 22887 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 1042)
     Memory: 9.9M
     CGroup: /system.slice/guacd.service
             └─22891 /usr/local/sbin/guacd -p /var/run/guacd.pid

Mar 27 05:12:24 hirsute systemd[1]: Starting LSB: Guacamole proxy daemon...
Mar 27 05:12:24 hirsute guacd[22888]: Guacamole proxy daemon (guacd) version 1.3.0 started
Mar 27 05:12:24 hirsute guacd[22887]: Starting guacd:
Mar 27 05:12:24 hirsute guacd[22888]: guacd[22888]: INFO:        Guacamole proxy daemon (guacd) version 1.3.0 started
Mar 27 05:12:24 hirsute guacd[22887]: SUCCESS
Mar 27 05:12:24 hirsute guacd[22891]: Listening on host 127.0.0.1, port 4822
Mar 27 05:12:24 hirsute systemd[1]: Started LSB: Guacamole proxy daemon.

安裝Tomcat Servlet

Apache Tomcat用於為通過Web瀏覽器連接到鱷梨醬服務器的用戶提供鱷梨醬客戶端內容。要安裝Tomcat,請運行以下命令;

apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y

Tomcat9已啟動,並可以在安裝後在系統啟動時運行。通過運行以下命令檢查狀態;

systemctl status tomcat9.service
● tomcat9.service - Apache Tomcat 9 Web Application Server
     Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-03-27 05:17:40 UTC; 2min 40s ago
       Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
    Process: 24611 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)
   Main PID: 24615 (java)
      Tasks: 29 (limit: 1042)
     Memory: 72.8M
     CGroup: /system.slice/tomcat9.service
             └─24615 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.jul>

Mar 27 05:17:45 hirsute tomcat9[24615]: Deployment of deployment descriptor [/etc/tomcat9/Catalina/localhost/host-manager.xml] has finished in [1,800] ms
Mar 27 05:17:45 hirsute tomcat9[24615]: Deploying deployment descriptor [/etc/tomcat9/Catalina/localhost/manager.xml]

默認情況下,Apache Tomcat在端口8080 / tcp上進行偵聽;

ss -altnp | grep 80
LISTEN 0      100                *:8080            *:*    users:(("java",pid=24615,fd=37))

要允許外部訪問serverlet,請在UFW上打開serverlet端口8080 / tcp。

ufw allow 8080/tcp

在Ubuntu 21.04上安裝Guacamole Client

guacamole-client contains提供了Web應用程序,該應用程序將為連接到您服務器的用戶提供HTML5 Guacamole客戶端。然後,Web應用程序將代表已連接的用戶連接到guacd,以便為他們提供他們有權訪問的任何遠程桌面。

創建鱷梨醬配置目錄;

mkdir /etc/guacamole

下載鱷梨調味醬客戶端二進制文件

鱷梨醬客戶端可以從源代碼或現成的二進制文件中安裝。本演示中使用二進制安裝。

從下載下載Guacamole-client 鱷梨醬發布頁面 適用於各自的最新版本(在撰寫本文時為v1.3.0),並將其存儲在上面創建的配置目錄中。

要下載當前的發行版v1.3.0,只需運行以下命令即可;

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

創建鱷梨醬客戶端到Tomcat webapps目錄的符號鏈接,如下所示;

ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/

重新啟動Tomcat以部署新的Web應用程序;

systemctl restart tomcat9

也重新啟動guacd守護程序;

systemctl restart guacd

在Ubuntu 21.04上配置Apache Guacamole

鱷梨醬有兩個主要的配置文件:

  • /etc/guacamole 這是由 GUACAMOLE_HOME 環境變量
  • /etc/guacamole/guacamole.properties 這是Guacamole及其擴展名使用的主要配置文件。

也有鱷梨調味醬擴展名和庫配置。您需要為這些配置創建目錄。

mkdir /etc/guacamole/{extensions,lib}

設置guacamole主目錄環境變量並將其添加到 /etc/default/tomcat9 配置文件。

echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9

配置鱷梨醬服務器連接

定義鱷梨醬如何連接到 guacd,創建 guacamole.properties 文件下 /etc/guacamole 目錄包含以下內容。

vim /etc/guacamole/guacamole.properties
guacd-hostname: localhost
guacd-port:     4822
user-mapping:   /etc/guacamole/user-mapping.xml
auth-provider:  net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

之後,保存並退出配置文件。

接下來,將Guacamole配置目錄鏈接到Tomcat servlet目錄,如下所示。

ln -s /etc/guacamole /usr/share/tomcat9/.guacamole

配置鱷梨調味醬身份驗證方法

鱷梨醬的默認身份驗證方法從一個名為的文件讀取所有用戶和連接 user-mapping.xml

在此文件中,您需要定義 用戶被允許訪問Guacamole Web UI 要連接的服務器連接方法

支持其他身份驗證方法,但超出了本教程的範圍。

首先,為要用於登錄Guacamole Web用戶界面的用戶生成密碼的MD5哈希。 相應地替換您的密碼;

echo -n password | openssl md5

輸出;

(stdin)= 5f4dcc3b5aa765d61d8327deb882cf99

或者

printf '%s' password | md5sum

輸出;

5f4dcc3b5aa765d61d8327deb882cf99  -

請務必更換 密碼 使用您的強密碼。

接下來,創建默認的用戶身份驗證文件, user-mapping.xml 具有以下內容。

vim /etc/guacamole/user-mapping.xml
<user-mapping>
        
    <!-- Per-user authentication and config information -->

    <!-- A user using md5 to hash the password
         guacadmin user and its md5 hashed password below is used to 
             login to Guacamole Web UI-->
    <authorize 
            username="guacadmin"
            password="5f4dcc3b5aa765d61d8327deb882cf99"
            encoding="md5">

        <!-- First authorized Remote connection -->
        <connection name="Ubuntu 20.04 Server SSH">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.57.3</param>
            <param name="port">22</param>
        </connection>

        <!-- Second authorized remote connection -->
        <connection name="Windows 7 RDP">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.56.103</param>
            <param name="port">3389</param>
            <param name="username">koromicha</param>
            <param name="ignore-cert">true</param>
        </connection>

    </authorize>

</user-mapping>

如果您未在文件中指定用戶名和密碼,則在嘗試登錄時會提示您提供用戶名和密碼,我認為這樣做有些安全。

如果需要在配置文件中顯式定義用戶名和密碼,請添加參數;

<param name="username">USERNAME</param>
<param name="password">PASSWORD</param>

保存並退出配置文件。

重新啟動Tomcat和guacd以完成更改。

systemctl restart tomcat9 guacd

請務必檢查系統日誌, /var/log/syslog 或者 /var/log/tomcat9/CATALINA-* 對於任何問題。

通過瀏覽訪問Apache Guacamole

現在已安裝Apache Guacamole服務器。您可以使用以下地址從網絡瀏覽器訪問它 http://server-IP:8080/guacamole

使用您為其上面的密碼生成MD5哈希的用戶的憑據。

成功登錄後,您將進入Apache Guacamole Web儀錶板,並且應該能夠看到添加的連接。

在Ubuntu 21.04上安裝Apache Guacamole

單擊一個連接以命名以啟動遠程登錄。

例如,要SSH進入我的Ubuntu服務器,只需單擊連接名稱。這將為您提供登錄提示;

在Ubuntu 21.04上安裝Apache Guacamole

要通過RDP登錄Windows 7,只需單擊Windows 7;然後單擊“確定”。

sudo apt自動刪除

然後你去。輸入密碼,然後轉到桌面。

現在,您可以為鱷梨醬添加更多連接。這標誌着我們在Ubuntu 21.04上安裝Apache Guacamole的指南的結尾。

相關指南;

使用Nginx反向代理配置Guacamole SSL / TLS

如何通過鱷梨調味醬啟用RDP / SSH文件傳輸

進一步閱讀

鱷梨醬用戶手冊

其他教程

在Kali Linux 2020上安裝NoMachine遠程桌面工具

在Ubuntu 20.04上安裝和設置Chrome遠程桌面

在Ubuntu 20.04上安裝Apache Guacamole

Sidebar