Einrichtung eines Web-Basierten Virtual Desktop Interfaces mit Guacamole unter einem Ubuntu-Linux 20.04

Vorbereitung: Installation der benötigten Pakete

apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev freerdp2-x11 libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y

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

systemctl status tomcat9

Installation des Guacamole-Servers

Zielordner: /opt
cd /opt

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

tar -xvzf guacamole-server-1.4.0.tar.gz

cd guacacd guacamole-server-1.4.0
./configure --with-init-dir=/etc/init.d

make
make install

ldconfig

systemctl daemon-reload
systemctl enable guacd
systemctl start guacd

systemctl status guacd

Installation des Guacamole-Clients (Tomcat-Applikation)

Tomcat

systemctl stop tomcat9

wget https://mirrors.estointernet.in/apache/guacamole/1.4.0/binary/guacamole-1.4.0.war
wget https://downloads.apache.org/guacamole/1.4.0/binary/guacamole-1.4.0.war


mkdir /etc/guacamole
mv guacamole-1.4.0.war /etc/guacamole/guacamole.war

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


systemctl start tomcat9
systemctl restart guacd

Konfiguration

Datei /etc/guacamole/guacamole.properties



guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml



mkdir /etc/guacamole/{extensions,lib}

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

echo -n yoursecurepassword | openssl md5
(stdin)= 55b38b03e7587a45fd886977842ff9b8

Datei /etc/guacamole/user-mapping.xml


<user-mapping>
    <authorize
            username="admin"
            password="55b38b03e7587a45fd886977842ff9b8"
            encoding="md5">

        <connection name="Ubuntu20.04-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.10.50</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="VHS01">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.10.1</param>
            <param name="port">9001</param>
            <param name="server-layout">de-de-qwertz</param>
            <param name="ignore-cert">true</param>
            <param name="width">1440</param>
            <param name="height">900</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.10.51</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>


Beides starten

systemctl restart tomcat9
systemctl restart guacd