在CentOS 8上安裝和使用Guacamole遠程桌面

在CentOS 8上安裝和使用Guacamole遠程桌面

Apache Guacamole是一個免費的,開源的,基於Web的無客戶端遠程桌面應用程序,它支持諸如VNC,RDP和SSH之類的標準協議。這使您可以通過RDP,SSH或VNC從Web瀏覽器訪問Linux和Windows PC。它是無客戶端的,因此您不需要安裝任何插件或客戶端軟件。它包含兩個組件,Guacamole服務器和Guacamole客戶端。 Guacamole服務器提供連接到遠程PC所需的服務器端和本機組件,而Guacamole客戶端是用於連接到遠程PC的HTML 5 Web應用程序。

本教程將向您展示如何在CentOS 8上安裝Guacamole服務器。

先決條件

  • 運行CentOS的服務器8。
  • 根密碼是在服務器上設置的。

入門

首先,您需要在服務器上安裝一些必需的軟件包。您可以使用以下命令將它們全部安裝:

dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10

安裝所有必需的軟件包後,需要在系統上啟用EPEL,PowerTools和Devel存儲庫。您可以使用以下命令啟用它們:

dnf install epel-release -ydnf config-manager --set-enabled PowerToolsdnf config-manager --enable Devel

然後使用以下命令安裝其他必需的工具。

dnf install cairo-devel libuv-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool uuid-devel freerdp-devel pango-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libssh2-devel libtheora opus lame-libs

然後使用以下命令禁用Devel存儲庫:

dnf config-manager --disable Devel

接下來,您需要在系統上編譯telnet庫。

首先,使用以下命令下載。

curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -

下載後,使用以下命令提取下載的文件。

tar -xf libtelnet-*.tar.gz

然後將目錄更改為解壓縮目錄,並使用以下命令對其進行配置:

cd libtelnet-*/./configure

然後使用以下命令將其安裝在您的系統上:

make make install

安裝完成後,您可以繼續執行下一步。

安裝Java

鱷梨醬是基於Java的軟件,因此必須在服務器上安裝Java。如果尚未安裝,則可以使用以下命令進行安裝:

dnf install java-11-openjdk-devel

安裝後,使用以下命令檢查您的Java版本:

java -version

您應該獲得以下輸出:

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

安裝tomcat

Apache Tomcat用於提供鱷梨醬客戶端內容。因此,您需要在服務器上安裝Tomcat。

首先,使用以下命令為Tomcat創建個人用戶和組:

groupadd --system tomcatuseradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat

然後使用以下命令下載最新版本的Tomcat:

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz

下載完成後,使用以下命令提取下載的文件。

tar -xvf apache-tomcat-9.0.43.tar.gz

然後將tomcat移至/ usr / share目錄

mv apache-tomcat-9.0.43 /usr/share/tomcat

然後在Tomcat目錄中設置適當的所有權。

chown -R tomcat:tomcat /usr/share/tomcat/

完成後,您可以繼續下一步。

為Tomcat創建Systemd服務文件

接下來,您需要為Tomcat創建一個systemd服務文件。您可以使用以下命令創建它。

nano /etc/systemd/system/tomcat.service

添加以下行。

[Unit]
Description=Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment="JAVA_OPTS=-Djava.awt.headless=true"
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M"
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

保存並關閉文件,並使用以下命令重新加載systemd守護程序:

systemctl daemon-reload

然後啟動Tomcat服務,以便可以在系統重新引導時啟動它。

systemctl start tomcatsystemctl enable tomcat

您還可以使用以下命令檢查Tomcat的狀態:

systemctl status tomcat

您應該獲得以下輸出:

? tomcat.service - Tomcat Server
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-02-16 09:34:45 EST; 6s ago
  Process: 26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS)
 Main PID: 26551 (java)
    Tasks: 35 (limit: 12523)
   Memory: 89.7M
   CGroup: /system.slice/tomcat.service
           ??26551 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.man>

Feb 16 09:34:45 centos8 systemd[1]: Starting Tomcat Server...
Feb 16 09:34:45 centos8 systemd[1]: Started Tomcat Server.

安裝Apache Guacamole

首先,使用以下命令下載最新版本的鱷梨調味醬:

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./configure --with-init-dir=/etc/init.d

然後使用以下命令將其安裝在您的系統上:

makemake installldconfig

然後使用以下命令重新加載systemd守護程序:

systemctl daemon-reload

然後啟動Guacamole服務,以便可以在系統重新啟動時啟動它。

systemctl start guacdsystemctl enable guacd

您可以使用以下命令檢查鱷梨醬的狀態。

systemctl status guacd

您應該獲得以下輸出:

? guacd.service - LSB: Guacamole proxy daemon
   Loaded: loaded (/etc/rc.d/init.d/guacd; generated)
   Active: active (running) since Tue 2021-02-16 09:37:15 EST; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 12523)
   Memory: 12.1M
   CGroup: /system.slice/guacd.service
           ??35726 /usr/local/sbin/guacd -p /var/run/guacd.pid

Feb 16 09:37:15 centos8 systemd[1]: Starting LSB: Guacamole proxy daemon...
Feb 16 09:37:15 centos8 guacd[35723]: Starting guacd: guacd[35724]: INFO:        Guacamole proxy daemon (guacd) version 1.3.0 started
Feb 16 09:37:15 centos8 guacd[35723]: SUCCESS
Feb 16 09:37:15 centos8 guacd[35726]: Listening on host 127.0.0.1, port 4822
Feb 16 09:37:15 centos8 systemd[1]: Started LSB: Guacamole proxy daemon.

安裝Guacamole客戶端

然後創建一個鱷梨醬目錄,並使用以下命令下載鱷梨醬客戶端文件。

mkdir /etc/guacamolewget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war

下載後,將下載的文件移至/ etc / guaguaole目錄。

mv guacamole-1.3.0.war /etc/guacamole/guacamole.war

然後創建一個指向guacamole.war文件的/ usr / share / tomcat目錄的符號鏈接。

ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/

然後使用以下命令設置Guacamole主目錄:

echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat

然後使用以下命令創建一個鱷梨醬配置文件:

nano /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

保存並關閉文件,並在/ etc / guaguaole目錄中創建符號鏈接。

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

彌補鱷梨調味醬

接下來,您需要創建一個Guacamole用戶映射文件,以定義要從Guacamole連接到的遠程服務器。

首先,使用以下命令生成密碼:

echo -n your-password | openssl md5

您應該看到以下輸出:

(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

然後使用以下命令創建user-mapping.xml文件:

nano /etc/guacamole/user-mapping.xml

添加遠程窗口和Linux服務器詳細信息,如下所示。

<user-mapping>
<authorize 
            username="admin"
            password="0f6e4a1df0cf5ee97c2066953bed21b2"
            encoding="md5">

        <!-- First authorized Remote connection -->
        <connection name="CentOS 8">
            <protocol>ssh</protocol>
            <param name="hostname">69.87.218.51</param>
            <param name="port">22</param>

        </connection>

        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">15.185.162.149</param>
            <param name="port">3389</param>
            <param name="username">administrator</param>

        </connection>

    </authorize>

</user-mapping>

保存並關閉文件,然後重新啟動Guacamole和Tomcat服務以應用您的更改。

systemctl restart tomcat guacd

完成後,您可以繼續下一步。

配置防火牆

接下來,您需要允許端口4822和8080通過防火牆。您可以使用以下命令允許它們:

firewall-cmd --permanent --add-port=4822/tcpfirewall-cmd --permanent --add-port=8080/tcp

然後重新加載firewalld以應用更改。

firewall-cmd --reload

訪問鱷梨醬Web UI

然後打開Web瀏覽器並使用URL訪問Guacamole Web界面。 http://您的服務器IP:8080 /鱷梨醬..顯示以下屏幕。

輸入管理員用戶名和密碼, 登錄 按鈕。下一個屏幕顯示鱷梨醬儀錶板。

鱷梨調味醬遠程桌面

在上面的屏幕中,您可以同時看到Windows服務器和Linux服務器。您可以單擊以連接到並管理遠程服務器。

結論

恭喜!現在已經在CentOS 8上成功安裝並配置了Guacamole服務器。現在,您可以將遠程服務器添加到Guacamole服務器,並通過Web瀏覽器進行管理。

Sidebar