GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

Comment installer et utiliser Apache Guacamole Remote Desktop sur Rocky Linux 8

Apache Guacamole est une passerelle de bureau à distance gratuite, open source et sans client. Il prend en charge les protocoles standard tels que SSH, RDP et VNC. Il n'a pas besoin de plugins et de clients tiers pour fonctionner. Vous pouvez accéder à votre machine à l'aide d'une passerelle Web. Il peut être placé derrière un serveur proxy qui vous permet d'accéder à vos serveurs de n'importe où dans le monde.

Le guacamole est composé de deux composants :

  • guacamole-server contient tous les composants natifs côté serveur requis par Guacamole pour se connecter aux postes de travail distants. guacd est le démon proxy qui s'exécute sur le serveur Guacamole, accepte les connexions des utilisateurs, puis les connecte aux postes de travail distants.
  • guacamole-client contient tous les composants Java et Javascript de Guacamole qui constituent l'application Web où les utilisateurs peuvent se connecter à leur bureau.

Dans ce didacticiel, vous apprendrez à installer et à utiliser Apache Guacamole sur un serveur basé sur Rocky Linux 8. Vous apprendrez également à l'utiliser pour vous connecter à un poste de travail distant. Nous installerons Guacamole en construisant à partir de son code source.

Prérequis

  • Un serveur exécutant Rocky Linux 8 avec un minimum de 2 Go de RAM et 2 cœurs de processeur.

  • Un nom de domaine pour le helpdesk pointant vers le serveur. Pour notre tutoriel, nous utiliserons le uvdesk.example.com domaine.

  • Un utilisateur non root avec des privilèges sudo.

  • Assurez-vous que tout est mis à jour.

    Mise à jour $ sudo dnf
  • Installez les packages d'utilitaires de base. Certains d'entre eux sont peut-être déjà installés.

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

Étape 1 - Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Rocky Linux utilise Firewalld Firewall. Vérifiez l'état du pare-feu.

$ sudo firewall-cmd --staterunning

Le pare-feu fonctionne avec différentes zones, et la zone publique est celle par défaut que nous utiliserons. Répertorier tous les services et ports actifs sur le pare-feu.

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

Il devrait afficher la sortie suivante.

cockpit dhcpv6-client ssh

Autoriser les ports HTTP et HTTPS.

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

Revérifiez l'état du pare-feu.

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

Vous devriez voir une sortie similaire.

cockpit dhcpv6-client http https ssh

Rechargez le pare-feu pour activer les modifications.

$ sudo firewall-cmd --reload

Étape 2 - Installer les bibliothèques

Avant d'installer les bibliothèques, nous devons installer le référentiel EPEL et activer le référentiel PowerTools.

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

La première étape consiste à installer les bibliothèques nécessaires à la construction de Guacamole. Installez les bibliothèques requises.

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

Les dépendances ci-dessus sont obligatoires, ce qui signifie que sans elles, Guacamole ne peut pas être construit. Vous pouvez installer certaines dépendances facultatives pour ajouter la prise en charge de divers protocoles et fonctionnalités.

Mais d'abord, vous devez activer le référentiel gratuit RPMFusion car il contient le package ffmpeg-devel .

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

Installez les dépendances facultatives.

$ 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 

Étape 3 - Installer Apache Tomcat

Pour notre tutoriel, nous allons installer Apache Tomcat 9, qui nécessite Java 8 et versions ultérieures pour fonctionner.

Installer Java

Nous allons installer OpenJDK 11, l'implémentation open source de la plate-forme Java.

Exécutez la commande suivante pour installer OpenJDK.

$ sudo dnf install java-11-openjdk-devel

Vérifiez l'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, mode mixte, partage )

Créer un utilisateur Tomcat

Ensuite, créez un utilisateur pour le service Tomcat. Nous allons définir /opt/tomcat comme répertoire personnel.

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

Télécharger Tomcat

La dernière version de Tomcat v10 peut être téléchargée depuis sa page de téléchargement. Au moment de la rédaction de ce didacticiel, la v9.0.59 est la dernière version disponible. Vérifiez la dernière version avant de télécharger Tomcat.

Utilisez wget pour télécharger Tomcat.

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

Extraire le fichier dans le /opt/tomcat répertoire.

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

Modifiez la propriété du répertoire pour l'utilisateur Tomcat.

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

Créer un fichier d'unité Systemd et démarrer Tomcat

Créez et ouvrez le fichier /etc/systemd/system/tomcat.service pour l'édition.

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

Collez le code suivant.

[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

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous êtes invité à enregistrer.

Rechargez le démon de service pour activer le service Tomcat.

$ sudo systemctl daemon-reload

Activez et démarrez le service Tomcat.

$ sudo systemctl activer tomcat --now

Vérifiez l'état du service.

$ sudo systemctl statut tomcat ? tomcat.service - Conteneur de servlet Apache Tomcat 9 Chargé :chargé (/etc/systemd/system/tomcat.service ; activé ; préréglage du fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le mercredi 2022-03-09 09:48:38 UTC; Il y a 8 s Processus :25308 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) PID principal :25315 (java) Tâches :29 (limite :11412) Mémoire :154,9 M CGroup :/ system.slice/tomcat.service ??25315 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ..Mar 09 09:48 :38 guacamole systemd[1] :Démarrage du conteneur de servlet Apache Tomcat 9...Mar 09 09:48:38 guacamole systemd[1] :Démarrage du conteneur de servlet Apache Tomcat 9.

Étape 4 - Télécharger et créer Guacamole

Vous pouvez obtenir la dernière version stable de Guacamole sur son site Web. Au moment de la rédaction de ce didacticiel, la dernière version disponible était la 1.4.0. Téléchargez le code source de Guacamole.

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

Extrayez l'archive et basculez vers le répertoire nouvellement créé.

$ tar -xzf guacamole-server-${GVERSION}.tar.gz$ cd guacamole-server-${GVERSION}/

Exécutez le configure pour déterminer quelles bibliothèques sont disponibles et pour sélectionner les composants à construire.

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

Le répertoire /etc/systemd/system/ est l'endroit où le script de démarrage sera installé pendant le processus de construction pour configurer Guacamole pour qu'il démarre automatiquement au démarrage.

Vous obtiendrez la sortie suivante en cas de réussite.

recherche d'une installation compatible BSD... /usr/bin/install -cchecking if build environment is sain... yes...----------------- -------------------------------guacamole-server version 1.4.0------------ ----------------------------------------- État de la bibliothèque :freerdp2 .......... .. oui pango ............... oui libavcodec .......... oui libavformat......... oui libavutil ..... ...... oui libssh2 ............. oui libssl .............. oui libswscale .......... oui libtelnet ........... oui libVNCServer ........ oui libvorbis ........... oui libpulse ............ oui libwebsockets ....... oui libwebp ............. oui wsock32 ............. non Support de protocole :Kubernetes .... oui RDP . .......... oui SSH ........... oui Telnet ........ oui VNC ........... oui Services / outils :guacd ...... oui guacenc .... oui guaclog .... oui Plugins FreeRDP :/usr/lib64/freerdp2 Scripts d'initialisation :non Unités systemd :/etc/systemd/system/Type "make" pour compiler guacamole-server.

Si vous n'avez pas installé certaines bibliothèques, vous verrez no au lieu de yes dans la sortie. Mais si une bibliothèque critique est manquante, la commande échouera. Pour vérifier plus d'options de configuration, exécutez le ./configure --help commande.

Compilez et installez le serveur Guacamole en utilisant les commandes suivantes.

$ make &&sudo make install

Exécutez la commande suivante pour mettre à jour le cache système des bibliothèques installées.

$ sudo ldconfig

Rechargez le démon de service.

$ sudo systemctl daemon-reload

Activez et démarrez le service Guacamole.

$ sudo systemctl enable guacd --now

Vérifiez l'état du service.

$ sudo systemctl status guacd ? guacd.service - Serveur Guacamole chargé :chargé (/etc/systemd/system/guacd.service ; activé ; préréglage du fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le jeu 2022-03-10 09:13:41 UTC ; Il y a 7 s Docs :man:guacd(8) PID principal :85349 (guacd) Tâches :1 (limite :11181) Mémoire :10,8 Mo CGroup :/system.slice/guacd.service ??85349 /usr/local/sbin/guacd -fMars 10 09:13:41 guacamole systemd[1] :Démarrage du serveur Guacamole.Mar 10 09:13:41 guacamole guacd[85349] :Démon proxy Guacamole (guacd) version 1.4.0 démarréMars 10 09:13:41 guacamole guacd [85349] :guacd[85349] :INFO :démon proxy Guacamole (guacd) version 1.4.0 lancé le 10 mars 09:13:41 guacamole guacd[85349] :guacd[85349] :INFO :écoute sur l'hôte ::1, port 4822mars 10 09:13:41 guacamole guacd[85349] :écoute sur l'hôte ::1, port 4822

Étape 5 - Installer le client Guacamole

Maintenant que vous avez installé le serveur, l'étape suivante consiste à installer le client.

Créez le répertoire de configuration pour Guacamole.

$ sudo mkdir /etc/guacamole

Contrairement au serveur Guacamole, le client Guacamole est disponible sous forme de code source et sous forme binaire. Pour notre tutoriel, nous allons télécharger le binaire. Vous pouvez cependant choisir de créer le client à partir de la source.

Téléchargez le fichier binaire du client Guacamole depuis le site Web.

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

La commande ci-dessus télécharge et copie le fichier binaire Guacamole dans /etc/guacamole répertoire.

Pour que le client fonctionne, il doit être déployé à partir du répertoire de Tomcat, qui est $CATALINA_HOME/webapps/ . À l'étape 3, nous définissons /opt/tomcat comme $CATALINA_HOME .

Exécutez la commande suivante pour créer un lien symbolique depuis /etc/guacamole/guacamole.war dans le répertoire des applications Web de Tomcat.

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

Modifiez l'autorisation de l'application en tomcat utilisateur.

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

Créez le fichier de configuration de l'application Web dans /etc/guacamole/guacd.conf .

$ sudo nano /etc/guacamole/guacd.conf

Collez-y le code suivant. Remplacez your_server_IP avec l'adresse IP publique de votre serveur.

## guacd configuration file#[daemon]#pid_file =/var/run/guacd.pidlog_level =info[server]bind_host =your_server_IPbind_port =4822## Les paramètres suivants ne sont valides que si# guacd a été construit avec le support SSL. ## [ssl]# certificat_serveur =/etc/ssl/certs/guacd.crt# clé_serveur =/etc/ssl/private/guacd.key

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous êtes invité à enregistrer.

Redémarrez le serveur Guacamole et Tomcat pour appliquer les modifications.

$ sudo systemctl redémarre tomcat guacd

Étape 6 - Installer et configurer MySQL

Apache Guacamole propose différents types de méthodes d'authentification. À des fins de test, une simple authentification par mot de passe est suffisante. Mais pour les environnements de production, nous devons implémenter une méthode d'authentification plus forte et meilleure. Ici, nous allons implémenter l'authentification basée sur la base de données à l'aide de MySQL.

Installez MySQL.

$ sudo dnf install mysql-server

Activez et démarrez le service MySQL.

$ sudo systemctl enable mysqld --now

Installation sécurisée de MySQL.

$ sudo mysql_secure_installation

Pour la première étape, il vous sera demandé si vous souhaitez configurer le plugin Validate Password, que vous pouvez utiliser pour tester la force de votre mot de passe MySQL. Choisissez Y procéder. Il vous sera demandé de choisir le niveau de validation du mot de passe à l'étape suivante. Choisissez 2 qui est le niveau le plus fort et exigera que votre mot de passe comporte au moins huit caractères et inclue un mélange de caractères majuscules, minuscules, numériques et spéciaux.

Sécurisation du déploiement du serveur MySQL.Connexion à MySQL à l'aide d'un mot de passe vierge.VALIDATE PASSWORD COMPONENT peut être utilisé pour tester les mots de passe et améliorer la sécurité. Il vérifie la force du mot de passe et permet aux utilisateurs de définir uniquement les mots de passe suffisamment sécurisés. Souhaitez-vous configurer le composant VALIDATE PASSWORD ?Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non :YIl existe trois niveaux de politique de validation de mot de passe :Longueur FAIBLE>=8Longueur MOYENNE>=8, numérique, casse mixte et caractères spéciauxLongueur FORTE>=8, numérique, casse mixte, caractères spéciaux et fichier dictionnaireVeuillez entrer 0 =FAIBLE, 1 =MOYEN et 2 =FORT :2

Il vous sera demandé de choisir un mot de passe root à l'étape suivante. Choisissez un mot de passe fort qui répond aux exigences du plugin de validation de mot de passe. À l'étape suivante, il vous sera demandé si vous souhaitez continuer avec le mot de passe choisi. Appuyez sur y pour continuer.

Veuillez définir le mot de passe pour root ici.Nouveau mot de passe :Saisissez à nouveau le nouveau mot de passe :Force estimée du mot de passe :100Souhaitez-vous continuer avec le mot de passe fourni ?(Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :O

Appuyez sur Y puis ENTER clé pour toutes les invites suivantes pour supprimer les utilisateurs anonymes et la base de données de test, désactiver les connexions root et charger les règles nouvellement définies.

...Supprimer les utilisateurs anonymes ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :YSuccès....Interdire la connexion root à distance ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :YSuccès....Supprimer la base de données de test et y accéder ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :Y - Suppression de la base de données de test...Succès. - Suppression des privilèges sur la base de données de test...Succès.Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent prendront effet immédiatement...Recharger les tables de privilèges maintenant ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :YSuccès.Tout est fait !

Entrez dans le shell MySQL. Entrez votre mot de passe root pour continuer.

$ mysql -u root -p

Créer guacamole_user utilisateur. Assurez-vous que le mot de passe répond aux exigences définies auparavant.

mysql> CRÉER UN UTILISATEUR 'guacamole_user'@'localhost' IDENTIFIÉ PAR 'Your_password2' ;

Créer guacamole_db base de données.

mysql> CREER BASE DE DONNEES guacamole_db;

Accordez les privilèges d'utilisateur sur le guacamole_db base de données.

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

Quittez le Shell.

mysql> quitter

Étape 7 - Configurer Apache Guacamole

Le répertoire de configuration de Guacamole est défini par la variable GUACAMOLE_HOME . Tous les fichiers de configuration, extensions, etc., se trouvent dans ce répertoire. Le /etc/guacamole/guacamole.properties Le fichier stocke toutes les configurations et tous les paramètres de Guacamole et de ses extensions.

Les extensions et les bibliothèques nécessitent des répertoires supplémentaires. Créez-les.

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

Définissez la variable d'accueil Guacamole et stockez-la dans le /etc/default/tomcat fichier de configuration.

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

Configurer l'authentification de la base de données Apache Guacamole

Nous avons déjà configuré la base de données pour Guacamole à l'étape précédente. Nous devons télécharger le plug-in d'authentification Guacamole JDBC et la bibliothèque MySQL Java Connector pour terminer la configuration.

Téléchargez le plugin Guacamole JDBC depuis son site Web.

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

Extraire le plugin dans le /etc/guacamole/extensions répertoire.

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

L'étape suivante consiste à importer le schéma SQL dans la base de données MySQL. Basculez vers le répertoire du plugin extrait.

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

Importez les fichiers de schéma dans MySQL.

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

Téléchargez le connecteur MySQL Java. Récupérez le fichier d'archive indépendant de la plate-forme. Au moment de la rédaction de ce didacticiel, la dernière version disponible est la 8.0.28.

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

Extraire l'archive et copier son contenu dans le /etc/guacamole/lib répertoire.

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

Configurer le fichier de propriétés de Guacamole

Créez le /etc/guacamole/guacamole.properties fichier et ouvrez-le pour le modifier.

$ sudo nano /etc/guacamole/guacamole.properties

Collez-y le code suivant. Remplacez your_server_ip avec l'adresse IP publique de votre serveur.

guacd-hostname :your_server_ipguacd-port :4822# MySQL propertiesmysql-hostname :localhostmysql-database :guacamole_dbmysql-username :guacamole_usermysql-password :votre_motdepasse2

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous êtes invité à enregistrer.

Liez le répertoire de configuration de Guacamole au répertoire du servlet Tomcat.

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

Redémarrez Tomcat pour activer l'authentification de la base de données. Vous n'avez pas besoin de redémarrer guacd car il est totalement indépendant de l'application web et ne traite pas les guacamole.properties ou l'authentification de la base de données de quelque manière que ce soit.

$ sudo systemctl redémarre tomcat

Étape 8 - Installer SSL

Pour installer un certificat SSL avec Let's Encrypt, nous devons installer l'outil Certbot. Certbot nécessite le référentiel EPEL pour l'installation, mais nous pouvons procéder directement à l'installation puisque nous l'avons déjà installé plus tôt.

Exécutez les commandes suivantes pour installer Certbot.

$ sudo dnf install certbot

Générez le certificat SSL.

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

La commande ci-dessus téléchargera un certificat sur /etc/letsencrypt/live/guacamole.example.com répertoire sur votre serveur.

Générer un groupe Diffie-Hellman certificat.

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

Créez un répertoire racine Web de défi pour le renouvellement automatique de Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Créez une tâche Cron pour renouveler le SSL. Il s'exécutera tous les jours pour vérifier le certificat et le renouveler si nécessaire. Pour cela, créez d'abord le fichier /etc/cron.daily/certbot-renew et ouvrez-le pour le modifier.

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

Collez le code suivant.

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

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Modifiez les autorisations sur le fichier de tâche pour le rendre exécutable.

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

Étape 9 - Installer et configurer Nginx en tant que proxy inverse

Configurer Tomcat pour la connexion proxy inverse

Avant d'installer Nginx, nous devons configurer Tomcat pour qu'il passe par l'adresse IP distante fournie par le proxy inverse Nginx.

Ouvrez le /opt/tomcat/conf/server.xml fichier à éditer.

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

Localisez la ligne suivante dans le fichier.

Modifiez la ligne en collant du code supplémentaire en dessous, de sorte qu'elle ressemble à ce qui suit.

 

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Installer Nginx

Rocky Linux 8.5 est livré avec la dernière version stable de Nginx. Installez-le à l'aide de la commande suivante.

Installer le module $ sudo dnf nginx:1.20

Vérifiez l'installation.

$ nginx -vnginx version :nginx/1.20.1

Activez le service Nginx.

$ sudo systemctl activer nginx

Créez et ouvrez le fichier /etc/nginx/conf.d/guacamole.conf pour l'édition.

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

Collez-y le code suivant.

serveur { écouter 443 ssl http2 ; écouter [::]:443 ssl http2 ; nom_serveur guacamole.exemple.com ; access_log /var/log/nginx/guacamole.access.log ; error_log /var/log/nginx/guacamole.error.log; # SSL certificat_ssl /etc/letsencrypt/live/guacamole.example.com/fullchain.pem ; clé_certificat_ssl /etc/letsencrypt/live/guacamole.example.com/privkey.pem ; ssl_trusted_certificate /etc/letsencrypt/live/guacamole.example.com/chain.pem ; SSL_session_timeout 5 m ; ssl_session_cache partagé :MozSSL :10 m ; ssl_session_tickets désactivé ; ssl_protocols TLSv1.2 TLSv1.3 ; ssl_prefer_server_ciphers activé ; chiffrements_ssl -RSA-CHACHA20-POLY1305 :DHE-RSA-AES128-GCM-SHA256 :DHE-RSA-AES256-GCM-SHA384 ; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling activé ; ssl_stapling_verify activé ; ssl_dhparam /etc/ssl/certs/dhparam.pem ; résolveur 8.8.8.8 ; emplacement / { proxy_pass http://127.0.0.1:8080/guacamole/; proxy_buffering désactivé ; proxy_http_version 1.1 ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; proxy_set_header Mettre à jour $http_upgrade ; proxy_set_header Connexion $http_connection ; client_max_body_size 1g ; access_log off ; }}# appliquer le serveur HTTPS { écouter 80 ; écouter [::]:80 ; nom_serveur guacamole.exemple.com ; renvoie 301 https://$host$request_uri;}

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité une fois terminé.

Ouvrez le fichier /etc/nginx/nginx.conf pour l'édition.

$ sudo nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size 64 ;

Enregistrez le fichier en appuyant sur Ctrl + X et en saisissant Y lorsque vous y êtes invité.

Vérifiez la syntaxe du fichier de configuration Nginx.

$ sudo nginx -tnginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Corrigez l'autorisation SELinux pour permettre à Nginx d'établir des connexions réseau.

$ sudo setsebool -P httpd_can_network_connect 1

Démarrez le service Nginx pour activer la nouvelle configuration.

$ sudo systemctl start nginx

Redémarrez le serveur Tomcat pour appliquer le changement de configuration.

$ sudo systemctl redémarre tomcat

Étape 10 - Accéder au guacamole

Ouvrez l'URL https://guacamole.example.com dans votre navigateur, et vous serez accueilli par l'écran suivant.

Saisissez guacadmin comme nom d'utilisateur et guacadmin comme mot de passe, puis cliquez sur Connexion pour continuer.

Créer un nouvel utilisateur administrateur

Vous devez créer un nouvel utilisateur et supprimer l'utilisateur existant pour des raisons de sécurité. Pour cela, cliquez sur guacadmin en haut à droite et cliquez sur Paramètres menu dans le menu déroulant.

Passez aux utilisateurs et cliquez sur l'onglet Nouvel utilisateur bouton pour commencer.

Entrez vos coordonnées et cochez toutes les autorisations.

Cliquez sur Enregistrer Une fois terminé. Déconnectez-vous de guacadmin utilisateur et reconnectez-vous en utilisant l'utilisateur nouvellement créé.

Revenez à l'écran des utilisateurs. sélectionnez le guacadmin l'utilisateur à modifier et cliquez sur Supprimer bouton en bas pour supprimer l'utilisateur.

Étape 11 - Comment utiliser le guacamole

Pour notre tutoriel, nous allons vous montrer comment vous connecter à un serveur en utilisant le protocole SSH.

Accédez aux Paramètres menu de Guacamole et sélectionnez Connexions . Sous l'écran Connexions, appuyez sur Nouvelle connexion bouton.

Choisissez un nom pour la connexion et sélectionnez SSH comme protocole dans le menu déroulant.

Dans la section Paramètres, entrez l'adresse IP de votre serveur comme nom d'hôte, 22 comme port (ou si vous avez un port SSH personnalisé, utilisez-le) et votre nom d'utilisateur. Si vous utilisez l'authentification par mot de passe, entrez le mot de passe de l'utilisateur ou collez la clé privée. Saisissez la phrase secrète de la clé privée si vous l'utilisez.

Si vous souhaitez activer des paramètres supplémentaires, faites-le. Cliquez sur Enregistrer pour terminer l'ajout de la connexion.

Revenez au tableau de bord et cliquez sur le nom de la connexion sous Toutes les connexions, et vous serez redirigé vers le terminal SSH.

Conclusion

Ceci conclut notre tutoriel sur l'installation et l'utilisation d'Apache Guacamole pour créer une connexion SSH sur un serveur basé sur Rocky Linux 8. Si vous avez des questions, postez-les dans les commentaires ci-dessous.


Rocky Linux
  1. Comment installer et utiliser PostgreSQL 13 sur Rocky Linux

  2. Comment installer MariaDB 10.6 sur Rocky Linux 8

  3. Comment installer Docker sur Rocky Linux 8

  4. Comment installer et configurer Memcached sur Rocky Linux/Alma Linux 8

  5. Comment installer Wine 6 sur le bureau Rocky Linux 8

Comment installer Apache Tomcat sur Rocky Linux 8

Comment installer et activer SNAP sur Rocky Linux ou AlmaLinux 8

Comment installer et utiliser le conteneur Rocky Linux Docker

Comment installer et utiliser FFmpeg dans Rocky Linux 8

Comment installer Budgie Desktop sur Rocky Linux 8

Comment installer et utiliser le serveur Xrdp (bureau à distance) sur le système Linux