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-develVé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 tomcatTé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.gzExtraire 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/tomcatCré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.serviceCollez 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.targetEnregistrez 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-reloadActivez et démarrez le service Tomcat.
$ sudo systemctl activer tomcat --nowVé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.gzExtrayez 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 deyes
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 installExécutez la commande suivante pour mettre à jour le cache système des bibliothèques installées.
$ sudo ldconfigRechargez le démon de service.
$ sudo systemctl daemon-reloadActivez et démarrez le service Guacamole.
$ sudo systemctl enable guacd --nowVé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/guacamoleContrairement 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.warLa 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/webappsCréez le fichier de configuration de l'application Web dans
/etc/guacamole/guacd.conf
.$ sudo nano /etc/guacamole/guacd.confCollez-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.keyEnregistrez 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-serverActivez et démarrez le service MySQL.
$ sudo systemctl enable mysqld --nowInstallation sécurisée de MySQL.
$ sudo mysql_secure_installationPour 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. Choisissez2
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 :2Il 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) :OAppuyez sur
Y
puisENTER
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 -pCré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/tomcatConfigurer 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.gzExtraire 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/schemaImportez les fichiers de schéma dans MySQL.
$ chat *.sql | mysql -u root -p guacamole_dbTé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.gzExtraire 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.propertiesCollez-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_motdepasse2Enregistrez 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/.guacamoleRedé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 lesguacamole.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 certbotGé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.comLa 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 2048Créez un répertoire racine Web de défi pour le renouvellement automatique de Let's Encrypt.
$ sudo mkdir -p /var/lib/letsencryptCré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-renewCollez 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.xmlLocalisez 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.20Vérifiez l'installation.
$ nginx -vnginx version :nginx/1.20.1Activez le service Nginx.
$ sudo systemctl activer nginxCréez et ouvrez le fichier
/etc/nginx/conf.d/guacamole.conf
pour l'édition.$ sudo nano /etc/nginx/conf.d/guacamole.confCollez-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.confAjoutez 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éussiCorrigez l'autorisation SELinux pour permettre à Nginx d'établir des connexions réseau.
$ sudo setsebool -P httpd_can_network_connect 1Démarrez le service Nginx pour activer la nouvelle configuration.
$ sudo systemctl start nginxRedé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 etguacadmin
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.