GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So installieren und verwenden Sie Apache Guacamole Remote Desktop unter Rocky Linux 8

Apache Guacamole ist ein kostenloses, clientloses Open-Source-Remote-Desktop-Gateway. Es unterstützt Standardprotokolle wie SSH, RDP und VNC. Es benötigt keine Plugins und Clients von Drittanbietern, um zu funktionieren. Sie können über ein webbasiertes Gateway auf Ihre Maschine zugreifen. Es kann hinter einen Proxy-Server gestellt werden, der es Ihnen ermöglicht, von überall auf der Welt auf Ihre Server zuzugreifen.

Guacamole besteht aus zwei Komponenten:

  • guacamole-server enthält alle nativen, serverseitigen Komponenten, die von Guacamole benötigt werden, um eine Verbindung zu Remote-Desktops herzustellen. guacd ist der Proxy-Daemon, der auf dem Guacamole-Server läuft, Benutzerverbindungen akzeptiert und sie dann mit den Remote-Desktops verbindet.
  • guacamole-client enthält alle Java- und Javascript-Komponenten von Guacamole, aus denen die Webanwendung besteht, mit der Benutzer eine Verbindung zu ihren Desktops herstellen können.

In diesem Tutorial erfahren Sie, wie Sie Apache Guacamole auf einem Rocky Linux 8-basierten Server installieren und verwenden. Sie erfahren auch, wie Sie damit eine Verbindung zu einem Remote-Desktop herstellen. Wir werden Guacamole installieren, indem wir aus seinem Quellcode bauen.

Voraussetzungen

  • Ein Server mit Rocky Linux 8 mit mindestens 2 GB RAM und 2 CPU-Kernen.

  • Ein Domänenname für den Helpdesk, der auf den Server verweist. Für unser Tutorial verwenden wir uvdesk.example.com Domäne.

  • Ein nicht-root-basierter Benutzer mit sudo-Berechtigungen.

  • Stellen Sie sicher, dass alles aktualisiert ist.

    $ sudo dnf aktualisieren
  • Installieren Sie grundlegende Dienstprogrammpakete. Einige davon sind möglicherweise bereits installiert.

    $ sudo dnf install wget curl nano unzip yum-utils -y

Schritt 1 – Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux verwendet Firewalld Firewall. Überprüfen Sie den Status der Firewall.

$ sudo firewall-cmd --staterunning

Die Firewall arbeitet mit verschiedenen Zonen, und die öffentliche Zone ist die Standardzone, die wir verwenden werden. Listet alle Dienste und Ports auf, die auf der Firewall aktiv sind.

$ sudo firewall-cmd --permanent --list-services

Es sollte die folgende Ausgabe zeigen.

cockpit dhcpv6-client ssh

HTTP- und HTTPS-Ports zulassen.

$ sudo firewall-cmd --permanent --add-service=http$ sudo firewall-cmd --permanent --add-service=https

Überprüfen Sie den Status der Firewall erneut.

$ sudo firewall-cmd --permanent --list-services

Sie sollten eine ähnliche Ausgabe sehen.

cockpit dhcpv6-client http https ssh

Laden Sie die Firewall neu, um die Änderungen zu aktivieren.

$ sudo firewall-cmd --reload

Schritt 2 – Bibliotheken installieren

Vor der Installation der Bibliotheken müssen wir das EPEL-Repository installieren und das PowerTools-Repository aktivieren.

$ sudo dnf install epel-release -y$ sudo dnf config-manager --set-enabled powertools

Der erste Schritt besteht darin, Bibliotheken zu installieren, die zum Erstellen von Guacamole erforderlich sind. Installieren Sie die erforderlichen Bibliotheken.

$ sudo dnf install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel make cmake

Die oben genannten Abhängigkeiten sind obligatorisch, was bedeutet, dass Guacamole ohne sie nicht gebaut werden kann. Sie können einige optionale Abhängigkeiten installieren, um Unterstützung für verschiedene Protokolle und Funktionen hinzuzufügen.

Aber zuerst müssen Sie das RPMFusion Free Repository aktivieren, da es das Paket ffmpeg-devel enthält .

$ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm

Installieren Sie die optionalen Abhängigkeiten.

$ sudo dnf install ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel pulseaudio-libs-devel openssl-devel compat-openssl10 libvorbis-devel libwebp-devel libgcrypt-devel 

Schritt 3 – Apache Tomcat installieren

Für unser Tutorial installieren wir Apache Tomcat 9, für dessen Funktion Java 8 und höher erforderlich ist.

Java installieren

Wir werden OpenJDK 11 installieren, die Open-Source-Implementierung der Java-Plattform.

Führen Sie den folgenden Befehl aus, um OpenJDK zu installieren.

$ sudo dnf install java-11-openjdk-devel

Überprüfen Sie die Installation.

$ java -versionopenjdk 11.0.14 2022-01-18 LTSOpenJDK Runtime Environment 18.9 (Build 11.0.14+9-LTS)OpenJDK 64-Bit Server VM 18.9 (Build 11.0.14+9-LTS, Mixed Mode, Sharing )

Tomcat-Benutzer erstellen

Erstellen Sie als Nächstes einen Benutzer für den Tomcat-Dienst. Wir werden /opt/tomcat setzen als Home-Verzeichnis.

$ sudo useradd -m -U -d /opt/tomcat -s /bin/false Tomcat

Tomcat herunterladen

Die neueste Version von Tomcat v10 kann von der Download-Seite heruntergeladen werden. Zum Zeitpunkt der Erstellung dieses Tutorials ist v9.0.59 die neueste verfügbare Version. Überprüfen Sie die neueste Version, bevor Sie Tomcat herunterladen.

Verwenden Sie wget um Tomcat herunterzuladen.

$ TVERSION=9.0.59$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v${TVERSION}/bin/apache-tomcat-${TVERSION}.tar.gz

Extrahieren Sie die Datei nach /opt/tomcat Verzeichnis.

$ sudo tar -xf apache-tomcat-${TVERSION}.tar.gz --strip-components=1 -C /opt/tomcat/

Ändern Sie den Eigentümer des Verzeichnisses auf den Tomcat-Benutzer.

$ sudo chown -R Tomcat:Tomcat /opt/Tomcat

Erstellen Sie eine Systemd-Unit-Datei und starten Sie Tomcat

Erstellen und öffnen Sie die Datei /etc/systemd/system/tomcat.service zum Bearbeiten.

$ sudo nano /etc/systemd/system/tomcat.service

Fügen Sie den folgenden Code ein.

[Unit]Description=Apache Tomcat 9 Servlet containerWants=network.targetAfter=network.target[Service]Type=forkingUser=tomcatGroup=tomcatEnvironment="JAVA_HOME=/usr/lib/jvm/jre"Environment="JAVA_OPTS=- Djava.awt.headless=true"Environment="CATALINA_BASE=/opt/tomcat"Environment="CATALINA_HOME=/opt/tomcat"Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"Environment="CATALINA_OPTS=- Xms512M -Xmx1024M -server -XX:+UseParallelGC"ExecStart=/opt/tomcat/bin/startup.shExecStop=/opt/tomcat/bin/shutdown.shRestart=always[Install]WantedBy=multi-user.target

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie zum Speichern aufgefordert werden.

Laden Sie den Service-Daemon neu, um den Tomcat-Service zu aktivieren.

$ sudo systemctl daemon-reload

Aktivieren und starten Sie den Tomcat-Dienst.

$ sudo systemctl enable tomcat --now

Überprüfen Sie den Dienststatus.

$ sudo systemctl status Tomcat? tomcat.service – Apache Tomcat 9 Servlet-Container Geladen:geladen (/etc/systemd/system/tomcat.service; aktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Mi 2022-03-09 09:48:38 UTC; Vor 8s Prozess:25308 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID:25315 (java) Tasks:29 (limit:11412) Memory:154.9M CGroup:/ system.slice/tomcat.service ??25315 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ..Mär 09 09:48 :38 guacamole systemd[1]:Apache Tomcat 9 Servlet-Container gestartet...Mar 09 09:48:38 guacamole systemd[1]:Apache Tomcat 9 Servlet-Container gestartet.

Schritt 4 – Guacamole herunterladen und erstellen

Sie können die neueste stabile Version von Guacamole von seiner Website herunterladen. Zum Zeitpunkt der Erstellung dieses Tutorials war die neueste verfügbare Version 1.4.0. Laden Sie den Guacamole-Quellcode herunter.

$ GVERSION=1.4.0$ wget https://downloads.apache.org/guacamole/${GVERSION}/source/guacamole-server-${GVERSION}.tar.gz

Entpacken Sie das Archiv und wechseln Sie in das neu erstellte Verzeichnis.

$ tar -xzf Guacamole-Server-${GVERSION}.tar.gz$ cd Guacamole-Server-${GVERSION}/

Führen Sie configure aus Befehl, um festzustellen, welche Bibliotheken verfügbar sind, und um Komponenten zum Erstellen auszuwählen.

$ ./configure --with-systemd-dir=/etc/systemd/system/

Das Verzeichnis /etc/systemd/system/ Hier wird das Startskript während des Build-Prozesses installiert, um Guacamole so zu konfigurieren, dass es beim Booten automatisch startet.

Bei erfolgreichem Abschluss erhalten Sie die folgende Ausgabe.

Prüfe auf eine BSD-kompatible Installation... /usr/bin/install -cPrüfe, ob die Build-Umgebung in Ordnung ist... ja...----------------- -------------------------------Guacamole-Server Version 1.4.0------------ ------------------------------------ Bibliotheksstatus:freerdp2 .......... .. ja pango ............... ja libavcodec .......... ja libavformat.......... ja libavutil ..... ...... ja libssh2 ............. ja libssl .............. ja libswscale .......... ja libtelnet ........... ja libVNCServer ........ ja libvorbis ........... ja libpulse ............ ja libwebsockets ....... ja libwebp ............. ja wsock32 ............. nein Protokollunterstützung:Kubernetes .... ja RDP . .......... ja SSH ........... ja Telnet ........ ja VNC ........... ja Dienste / Tools :guacd ...... ja guacenc .... ja guaclog .... ja FreeRDP-Plugins:/usr/lib64/freerdp2 Init-Skripte:nein Systemd-Units:/etc/systemd/system/ Geben Sie „make“ ein, um den Guacamole-Server zu kompilieren.

Wenn Sie einige Bibliotheken nicht installiert haben, sehen Sie no statt yes in der Ausgabe. Wenn jedoch eine wichtige Bibliothek fehlt, schlägt der Befehl fehl. Um nach weiteren Konfigurationsoptionen zu suchen, führen Sie ./configure --help aus Befehl.

Kompilieren und installieren Sie den Guacamole-Server mit den folgenden Befehlen.

$ make &&sudo make install

Führen Sie den folgenden Befehl aus, um den Systemcache der installierten Bibliotheken zu aktualisieren.

$ sudo ldconfig

Laden Sie den Service-Daemon neu.

$ sudo systemctl daemon-reload

Aktivieren und starten Sie den Guacamole-Dienst.

$ sudo systemctl enable guacd --now

Überprüfen Sie den Status des Dienstes.

$ sudo systemctl status guacd? guacd.service - Guacamole-Server Geladen:geladen (/etc/systemd/system/guacd.service; aktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Do 10.03.2022 09:13:41 UTC; vor 7s Dokumente:man:guacd(8) Haupt-PID:85349 (guacd) Aufgaben:1 (Grenze:11181) Speicher:10,8 MB CGroup:/system.slice/guacd.service ??85349 /usr/local/sbin/guacd -fMar 10 09:13:41 guacamole systemd[1]:Guacamole Server gestartet.Mar 10 09:13:41 guacamole guacd[85349]:Guacamole Proxy Daemon (guacd) Version 1.4.0 gestartetMar 10 09:13:41 guacamole guacd [85349]:guacd[85349]:INFO:Guacamole-Proxy-Daemon (guacd) Version 1.4.0 gestartet am 10. März 09:13:41 guacamole guacd[85349]:guacd[85349]:INFO:Hören auf Host ::1, Port 4822Mär 10 09:13:41 guacamole guacd[85349]:Lauscht auf Host ::1, Port 4822

Schritt 5 – Guacamole-Client installieren

Nachdem Sie den Server installiert haben, ist der nächste Schritt die Installation des Clients.

Erstellen Sie das Konfigurationsverzeichnis für Guacamole.

$ sudo mkdir /etc/guacamole

Im Gegensatz zum Guacamole-Server ist der Guacamole-Client im Quellcode und in Binärform verfügbar. Für unser Tutorial werden wir die Binärdatei herunterladen. Sie können sich jedoch dafür entscheiden, den Client aus der Quelle zu erstellen.

Laden Sie die Guacamole-Client-Binärdatei von der Website herunter.

$ sudo wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-${GVERSION}.war -O /etc/guacamole/guacamole.war

Der obige Befehl lädt die Guacamole-Binärdatei herunter und kopiert sie in /etc/guacamole Verzeichnis.

Damit der Client funktioniert, muss er aus dem Tomcat-Verzeichnis bereitgestellt werden, das $CATALINA_HOME/webapps/ ist . In Schritt 3 setzen wir /opt/tomcat als $CATALINA_HOME .

Führen Sie den folgenden Befehl aus, um einen symbolischen Link von /etc/guacamole/guacamole.war zu erstellen in das Tomcat-Webapps-Verzeichnis.

$ sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/

Ändern Sie die Berechtigung der App auf tomcat Benutzer.

$ sudo chown -R tomcat:tomcat /opt/tomcat/webapps

Erstellen Sie die Konfigurationsdatei der Webanwendung unter /etc/guacamole/guacd.conf .

$ sudo nano /etc/guacamole/guacd.conf

Fügen Sie den folgenden Code darin ein. Ersetzen Sie your_server_IP mit der öffentlichen IP-Adresse Ihres Servers.

## guacd-Konfigurationsdatei#[daemon]#pid_file =/var/run/guacd.pidlog_level =info[server]bind_host =your_server_IPbind_port =4822## Die folgenden Parameter sind nur gültig, wenn# guacd mit SSL-Unterstützung erstellt wurde. ## [ssl]# server_certificate =/etc/ssl/certs/guacd.crt# server_key =/etc/ssl/private/guacd.key

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie zum Speichern aufgefordert werden.

Starten Sie den Guacamole-Server und Tomcat neu, um die Änderungen zu übernehmen.

$ sudo systemctl Tomcat guacd neu starten

Schritt 6 – MySQL installieren und konfigurieren

Apache Guacamole bietet verschiedene Arten von Authentifizierungsmethoden. Für Testzwecke ist eine einfache passwortbasierte Authentifizierung ausreichend. Aber für Produktionsumgebungen müssen wir eine stärkere und bessere Authentifizierungsmethode implementieren. Hier implementieren wir eine datenbankbasierte Authentifizierung mit MySQL.

Installieren Sie MySQL.

$ sudo dnf install mysql-server

Aktivieren und starten Sie den MySQL-Dienst.

$ sudo systemctl enable mysqld --now

Sichere MySQL-Installation.

$ sudo mysql_secure_installation

Im ersten Schritt werden Sie gefragt, ob Sie das Validate Password Plugin einrichten möchten, mit dem Sie die Stärke Ihres MySQL-Passworts testen können. Wählen Sie Y fortfahren. Im nächsten Schritt werden Sie aufgefordert, die Passwortvalidierungsstufe auszuwählen. Wählen Sie 2 Dies ist die stärkste Stufe und erfordert, dass Ihr Passwort mindestens acht Zeichen lang ist und eine Mischung aus Großbuchstaben, Kleinbuchstaben, Ziffern und Sonderzeichen enthält.

Sichern der Bereitstellung des MySQL-Servers. Herstellen einer Verbindung zu MySQL mit einem leeren Passwort. Die VALIDATE PASSWORD COMPONENT kann verwendet werden, um Passwörter zu testen und die Sicherheit zu verbessern. Es prüft die Stärke des Passworts und erlaubt den Benutzern, nur die Passwörter festzulegen, die sicher genug sind. Möchten Sie die Komponente VALIDATE PASSWORD einrichten?Drücken Sie y|Y für Ja, jede andere Taste für Nein:YEs gibt drei Ebenen der Kennwortvalidierungsrichtlinie:NIEDRIG Länge>=8MITTEL Länge>=8, numerisch, gemischte Groß- und Kleinschreibung und SonderzeichenSTRONG Länge>=8, numerisch, gemischte Groß-/Kleinschreibung, Sonderzeichen und WörterbuchdateiBitte geben Sie 0 =NIEDRIG, 1 =MITTEL und 2 =STRONG ein:2

Im nächsten Schritt werden Sie aufgefordert, ein Root-Passwort zu wählen. Wählen Sie ein sicheres Passwort, das die Anforderungen des Passwortvalidierungs-Plugins erfüllt. Im nächsten Schritt werden Sie gefragt, ob Sie mit dem gewählten Passwort fortfahren möchten. Drücken Sie y um fortzufahren.

Bitte legen Sie hier das Passwort für root fest.Neues Passwort:Neues Passwort erneut eingeben:Geschätzte Passwortstärke:100Möchten Sie mit dem angegebenen Passwort fortfahren?(Drücken Sie y|Y für Ja, jede andere Taste für Nein) :Ja

Drücken Sie Y und dann ENTER Schlüssel für alle folgenden Eingabeaufforderungen, um anonyme Benutzer und die Testdatenbank zu entfernen, Root-Anmeldungen zu deaktivieren und die neu festgelegten Regeln zu laden.

...Anonyme Benutzer entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein) :YSuccess....Disallow root login remote? (Drücken Sie y|Y für Ja, jede andere Taste für Nein) :YErfolgreich....Testdatenbank und Zugriff darauf entfernen? (Drücken Sie y|Y für Ja, jede andere Taste für Nein) :Y - Dropping test database...Success. - Privilegien auf Testdatenbank entfernen ... Erfolgreich. Das Neuladen der Privilegientabellen stellt sicher, dass alle bisher vorgenommenen Änderungen sofort wirksam werden .... Privilegientabellen jetzt neu laden? (Drücken Sie y|Y für Ja, jede andere Taste für Nein) :YSuccess.All done!

Geben Sie die MySQL-Shell ein. Geben Sie Ihr Root-Passwort ein, um fortzufahren.

$ mysql -u root -p

Erstellen Sie guacamole_user Benutzer. Stellen Sie sicher, dass das Passwort die zuvor festgelegten Anforderungen erfüllt.

mysql> CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'Your_password2';

Erstellen Sie guacamole_db Datenbank.

mysql> CREATE DATABASE guacamole_db;

Gewähren Sie dem Benutzer Berechtigungen für die guacamole_db Datenbank.

mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';

Verlassen Sie die Shell.

mysql> beenden

Schritt 7 – Apache Guacamole konfigurieren

Das Konfigurationsverzeichnis von Guacamole wird durch die Variable GUACAMOLE_HOME definiert . Alle Konfigurationsdateien, Erweiterungen usw. befinden sich in diesem Verzeichnis. Die /etc/guacamole/guacamole.properties speichert alle Konfigurationen und Einstellungen für Guacamole und seine Erweiterungen.

Erweiterungen und Bibliotheken erfordern zusätzliche Verzeichnisse. Erstellen Sie sie.

$ sudo mkdir /etc/guacamole/{extensions,lib}

Legen Sie die Home-Variable Guacamole fest und speichern Sie sie in /etc/default/tomcat Konfigurationsdatei.

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

Konfigurieren Sie die Apache Guacamole-Datenbankauthentifizierung

Die Datenbank für Guacamole haben wir bereits im vorherigen Schritt eingerichtet. Wir müssen das Guacamole JDBC-Authentifikator-Plugin und die MySQL Java Connector-Bibliothek herunterladen, um die Konfiguration abzuschließen.

Laden Sie das Guacamole JDBC Plugin von seiner Website herunter.

$ cd ~$ wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-auth-jdbc-${GVERSION}.tar.gz

Extrahieren Sie das Plugin nach /etc/guacamole/extensions Verzeichnis.

$ tar -xf guacamole-auth-jdbc-${GVERSION}.tar.gz$ sudo mv guacamole-auth-jdbc-${GVERSION}/mysql/guacamole-auth-jdbc-mysql-${GVERSION}. jar /etc/guacamole/extensions/

Der nächste Schritt besteht darin, das SQL-Schema in die MySQL-Datenbank zu importieren. Wechseln Sie in das extrahierte Plugin-Verzeichnis.

$ cd guacamole-auth-jdbc-${GVERSION}/mysql/schema

Importieren Sie die Schemadateien in MySQL.

$ cat *.sql | mysql -u root -p guacamole_db

Laden Sie den MySQL-Java-Connector herunter. Holen Sie sich die plattformunabhängige Archivdatei. Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste verfügbare Version 8.0.28.

$ cd ~$ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz

Extrahieren Sie das Archiv und kopieren Sie seinen Inhalt nach /etc/guacamole/lib Verzeichnis.

$ tar -xf mysql-connector-java-8.0.28.tar.gz$ sudo mv mysql-connector-java-8.0.28/mysql-connector-java-8.0.28.jar /etc/guacamole/lib /

Guacamole-Eigenschaftendatei konfigurieren

Erstellen Sie die /etc/guacamole/guacamole.properties Datei und öffnen Sie sie zum Bearbeiten.

$ sudo nano /etc/guacamole/guacamole.properties

Fügen Sie den folgenden Code darin ein. Ersetzen Sie your_server_ip mit der öffentlichen IP-Adresse Ihres Servers.

guacd-hostname:your_server_ipguacd-port:4822# MySQL-Eigenschaftenmysql-hostname:localhostmysql-database:guacamole_dbmysql-username:guacamole_usermysql-password:Your_password2

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie zum Speichern aufgefordert werden.

Verknüpfen Sie das Guacamole-Konfigurationsverzeichnis mit dem Tomcat-Servlet-Verzeichnis.

$ sudo ln -s /etc/guacamole /opt/tomcat/.guacamole

Starten Sie Tomcat neu, um die Datenbankauthentifizierung zu aktivieren. Sie müssen guacd nicht neu starten weil es völlig unabhängig von der Webanwendung ist und sich nicht um die guacamole.properties kümmert oder Datenbankauthentifizierung in irgendeiner Weise.

$ sudo systemctl Tomcat neu starten

Schritt 8 – SSL installieren

Um ein SSL-Zertifikat mit Let’s Encrypt zu installieren, müssen wir das Certbot-Tool installieren. Certbot benötigt das EPEL-Repository für die Installation, aber wir können direkt mit der Installation fortfahren, da wir es bereits früher installiert haben.

Führen Sie die folgenden Befehle aus, um Certbot zu installieren.

$ sudo dnf install certbot

Generieren Sie das SSL-Zertifikat.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d guacamole.example.com

Der obige Befehl lädt ein Zertifikat in /etc/letsencrypt/live/guacamole.example.com herunter Verzeichnis auf Ihrem Server.

Erstellen Sie eine Diffie-Hellman-Gruppe Zertifikat.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Erstellen Sie ein herausforderndes Webroot-Verzeichnis für die automatische Verlängerung von Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Erstellen Sie einen Cron-Job, um das SSL zu erneuern. Es wird jeden Tag ausgeführt, um das Zertifikat zu überprüfen und bei Bedarf zu erneuern. Erstellen Sie dazu zunächst die Datei /etc/cron.daily/certbot-renew und zum Bearbeiten öffnen.

$ sudo nano /etc/cron.daily/certbot-renew

Fügen Sie den folgenden Code ein.

#!/bin/shcertbot renew --cert-name guacamole.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Ändern Sie die Berechtigungen für die Aufgabendatei, um sie ausführbar zu machen.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Schritt 9 – Nginx als Reverse-Proxy installieren und konfigurieren

Tomcat für Reverse-Proxy-Verbindung konfigurieren

Vor der Installation von Nginx müssen wir Tomcat so konfigurieren, dass es die vom Nginx-Reverse-Proxy bereitgestellte Remote-IP-Adresse weiterleitet.

Öffnen Sie die Datei /opt/tomcat/conf/server.xml Datei zum Bearbeiten.

$ sudo nano /opt/tomcat/conf/server.xml

Suchen Sie die folgende Zeile in der Datei.

Ändern Sie die Zeile, indem Sie zusätzlichen Code darunter einfügen, sodass sie wie folgt aussieht.

 

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Nginx installieren

Rocky Linux 8.5 wird mit der neuesten stabilen Version von Nginx ausgeliefert. Installieren Sie es mit dem folgenden Befehl.

$ sudo dnf module install nginx:1.20

Überprüfen Sie die Installation.

$ nginx -vnginx-Version:nginx/1.20.1

Aktivieren Sie den Nginx-Dienst.

$ sudo systemctl enable nginx

Erstellen und öffnen Sie die Datei /etc/nginx/conf.d/guacamole.conf zum Bearbeiten.

$ sudo nano /etc/nginx/conf.d/guacamole.conf

Fügen Sie den folgenden Code ein.

server {listen 443 ssl http2; hören [::]:443 ssl http2; Servername guacamole.example.com; access_log /var/log/nginx/guacamole.access.log; error_log /var/log/nginx/guacamole.error.log; # SSL ssl_certificate /etc/letsencrypt/live/guacamole.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/guacamole.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/guacamole.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache freigegeben:MozSSL:10m; ssl_session_tickets aus; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling an; ssl_stapling_verify an; ssl_dhparam /etc/ssl/certs/dhparam.pem; Resolver 8.8.8.8; Standort / { Proxy_Pass http://127.0.0.1:8080/guacamole/; Proxy_buffering aus; Proxy_http_Version 1.1; Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; Proxy_set_header Upgrade $http_upgrade; proxy_set_header Verbindung $http_connection; client_max_body_size 1g; access_log off; }}# HTTPSserver erzwingen {listen 80; hör zu [::]:80; Servername guacamole.example.com; gib 301 https://$host$request_uri;}
zurück

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden, sobald Sie fertig sind.

Öffnen Sie die Datei /etc/nginx/nginx.conf zum Bearbeiten.

$ sudo nano /etc/nginx/nginx.conf

Fügen Sie die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; hinzu .

server_names_hash_bucket_size 64;

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Überprüfen Sie die Syntax der Nginx-Konfigurationsdatei.

$ sudo nginx -tnginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Korrigieren Sie die SELinux-Berechtigung, damit Nginx Netzwerkverbindungen herstellen kann.

$ sudo setsebool -P httpd_can_network_connect 1

Starten Sie den Nginx-Dienst, um die neue Konfiguration zu aktivieren.

$ sudo systemctl start nginx

Starten Sie den Tomcat-Server neu, um die Konfigurationsänderung zu übernehmen.

$ sudo systemctl Tomcat neu starten

Schritt 10 – Zugriff auf Guacamole

Öffnen Sie die URL https://guacamole.example.com in Ihrem Browser, und Sie werden mit dem folgenden Bildschirm begrüßt.

Geben Sie guacadmin ein als Benutzername und guacadmin als Passwort und klicken Sie auf Anmelden um fortzufahren.

Erstellen Sie einen neuen Admin-Benutzer

Aus Sicherheitsgründen sollten Sie einen neuen Benutzer erstellen und den vorhandenen Benutzer löschen. Klicken Sie dazu auf guacadmin oben rechts und klicken Sie auf Einstellungen Menü aus dem Dropdown-Menü.

Wechseln Sie zu den Benutzern und klicken Sie auf Neuer Benutzer Schaltfläche, um loszulegen.

Geben Sie Ihre Daten ein und aktivieren Sie alle Berechtigungen.

Klicken Sie auf Speichern wenn fertig. Melden Sie sich vom guacadmin ab Benutzer und melden Sie sich mit dem neu erstellten Benutzer wieder an.

Gehen Sie zurück zum Benutzerbildschirm. Wählen Sie den guacadmin aus Benutzer zum Bearbeiten und klicken Sie auf Löschen Schaltfläche unten, um den Benutzer zu löschen.

Schritt 11 – Verwendung von Guacamole

In unserem Tutorial zeigen wir Ihnen, wie Sie sich mit dem SSH-Protokoll mit einem Server verbinden.

Gehen Sie zu den Einstellungen Guacamole-Menü und wählen Sie Verbindungen . Drücken Sie auf dem Bildschirm „Verbindungen“ auf Neue Verbindung Schaltfläche.

Wählen Sie einen Namen für die Verbindung und wählen Sie SSH als Protokoll aus dem Dropdown-Menü.

Geben Sie im Abschnitt Parameter die IP-Adresse Ihres Servers als Hostnamen, 22 als Port (oder wenn Sie einen benutzerdefinierten SSH-Port haben, verwenden Sie diesen) und Ihren Benutzernamen ein. Wenn Sie die passwortbasierte Authentifizierung verwenden, geben Sie das Passwort des Benutzers ein oder fügen Sie den privaten Schlüssel ein. Geben Sie die Passphrase für den privaten Schlüssel ein, falls Sie ihn verwenden.

Wenn Sie zusätzliche Einstellungen aktivieren möchten, tun Sie dies. Klicken Sie auf Speichern um das Hinzufügen der Verbindung abzuschließen.

Gehen Sie zurück zum Dashboard und klicken Sie auf den Verbindungsnamen unter Alle Verbindungen, und Sie werden zum SSH-Terminal weitergeleitet.

Schlussfolgerung

Damit ist unser Tutorial zur Installation und Verwendung von Apache Guacamole zum Erstellen einer SSH-Verbindung auf einem Rocky Linux 8-basierten Server abgeschlossen. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.


Rocky Linux
  1. So installieren und verwenden Sie PostgreSQL 13 unter Rocky Linux

  2. So installieren Sie MariaDB 10.6 auf Rocky Linux 8

  3. So installieren Sie Docker unter Rocky Linux 8

  4. So installieren und konfigurieren Sie Memcached unter Rocky Linux/Alma Linux 8

  5. So installieren Sie Wine 6 auf Rocky Linux 8 Desktop

So installieren Sie Apache Tomcat unter Rocky Linux 8

So installieren und aktivieren Sie SNAP unter Rocky Linux oder AlmaLinux 8

So installieren und verwenden Sie den Rocky Linux Docker-Container

So installieren und verwenden Sie FFmpeg in Rocky Linux 8

So installieren Sie Budgie Desktop unter Rocky Linux 8

So installieren und verwenden Sie den Xrdp-Server (Remote Desktop) auf einem Linux-System