En tant qu’administrateur système, vous pouvez vous retrouver (aujourd’hui ou à l’avenir) à travailler dans un environnement où les fenêtres et Linux coexister.
Ce n’est un secret pour personne que certaines grandes entreprises préfèrent (ou doivent) exécuter certains de leurs services de production sur des boîtiers Windows et d’autres sur des serveurs Linux.
[ You might also like: 11 Best Tools to Access Remote Linux Desktop ]
Si tel est votre cas, vous accueillerez ce guide à bras ouverts (sinon allez-y et assurez-vous au moins de l’ajouter à vos favoris).
Dans cet article, nous allons vous présenter guacamole, une passerelle de bureau à distance alimentée par Matou qui doit seulement être installé sur un serveur central.
[ You might also like: How to Access Remote Linux Desktop Using TightVNC ]
Guacamole fournira un panneau de commande basé sur le Web qui vous permettra de passer rapidement d’une machine à une autre, le tout dans la même fenêtre de navigateur Web.
Environnement de test
Dans cet article, nous avons utilisé les machines suivantes. nous allons installer Guacamole dans un Ubuntu box et l’utiliser pour accéder à un Windows 10 boîte sur Protocole de bureau à distance (RDP) Et un RHEL boîte à l’aide Protocole réseau SSH:
Guacamole server: Ubuntu 20.04 - IP 192.168.0.100 Remote SSH box: RHEL 8 – IP 192.168.0.18 Remote desktop box: Windows 10 – IP 192.168.0.19
Cela dit, commençons.
Installation du serveur Guacamole sous Ubuntu
1. Avant d’installer guacamole, vous devrez d’abord vous occuper de ses dépendances.
$ sudo apt update $ sudo apt install -y gcc vim curl wget g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev build-essential libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev tomcat9 tomcat9-admin tomcat9-user
2. Téléchargez et extrayez l’archive tar. Dès le début Février 2021, la dernière version de Guacamole est 1.3.0. Vous pouvez vous référer au Page de téléchargement de guacamole pour connaître la dernière version à un moment donné.
$ wget https://dlcdn.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz $ tar zxf guacamole-server-1.3.0.tar.gz
3. Compilez le logiciel.
$ cd guacamole-server-1.3.0/ $ ./configure
Comme il faut s’y attendre, configurer vérifiera votre système pour la présence des dépendances requises et pour les protocoles de communication pris en charge (comme on peut le voir dans le carré en surbrillance, Protocole de bureau à distance (RDP) et SSH sont pris en charge par les dépendances installées précédemment).
Si tout se passe comme prévu, vous devriez voir ceci à la fin (sinon, assurez-vous d’avoir installé toutes les dépendances nécessaires) :
Comme le suggère la dernière ligne de l’image ci-dessus, exécutez make
et make install
pour compiler le programme :
$ make $ sudo make install
4. Mettez à jour le cache des bibliothèques installées.
$ sudo ldconfig
et frappe Entrer.
Installation du client Guacamole dans Ubuntu
Après avoir terminé les étapes ci-dessus, le serveur guacamole aura été installé. Les instructions suivantes vous aideront maintenant à configurer guacd (le démon proxy qui intègre Javascript avec des protocoles de communication tels que RDP ou SSH) et guacamole.war (le client), le composant qui constitue l’application HTML5 finale qui vous sera présentée.
Notez que les deux composants (serveur de guacamole et client) doivent être installés sur la même machine – il n’est pas nécessaire d’installer un soi-disant client sur les machines auxquelles vous souhaitez vous connecter).
Pour télécharger le client, procédez comme suit :
5. Téléchargez l’archive de l’application Web et changez son nom en guacamole.war.
Noter: Selon votre distribution, le répertoire des bibliothèques Tomcat peut être situé à /var/lib/tomcat.
$ cd /var/lib/tomcat9/ $ sudo wget https://dlcdn.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war $ sudo mv guacamole-1.3.0.war webapps/guacamole.war
6. Créez le fichier de configuration (/etc/guacamole/guacamole.properties). Ce fichier contient les instructions pour que Guacamole se connecte à guacd:
$ sudo mkdir /etc/guacamole $ sudo mkdir /usr/share/tomcat9/.guacamole $ sudo nano /etc/guacamole/guacamole.properties
Insérez le contenu suivant dans /etc/guacamole/guacamole.properties. Notez que nous référençons un fichier que nous allons créer à l’étape suivante (/etc/guacamole/user-mapping.xml):
guacd-hostname: localhost guacd-port: 4822 user-mapping: /etc/guacamole/user-mapping.xml auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider basic-user-mapping: /etc/guacamole/user-mapping.xml
Et créez un lien symbolique pour que Tomcat puisse lire le fichier :
$ sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole/
7. Le guacamole utilise le mappage utilisateur.xml, créez ce fichier pour définir quels utilisateurs sont autorisés à s’authentifier auprès de l’interface web Guacamole (entre <authorize>
balises) et quelles connexions ils peuvent utiliser (entre <connection>
Mots clés):
$ sudo nano /etc/guacamole/user-mapping.xml
Le mappage utilisateur suivant accorde l’accès à l’interface Web Guacamole à un utilisateur tecmint
avec mot de passe tecmint01. Ensuite, à l’intérieur de la connexion SSH, nous devons placer un nom d’utilisateur valide pour se connecter à la boîte RHEL (vous serez invité à saisir le mot de passe correspondant lorsque Guacamole initiera la connexion).
Dans le cas de la Windows 10 box, il n’est pas nécessaire de le faire car l’écran de connexion sera présenté sur RDP.
Pour obtenir le hachage md5 du mot de passe tecmint01, tapez la commande suivante :
# printf '%s' "tecmint01" | md5sum
Ensuite, insérez la sortie de la commande dans le champ du mot de passe à l’intérieur du <authorize>
Mots clés:
<user-mapping> <authorize username="tecmint" password="8383339b9c90775ac14693d8e620981f" encoding="md5"> <connection name="RHEL 8"> <protocol>ssh</protocol> <param name="hostname">192.168.0.18</param> <param name="port">22</param> <param name="username">gacanepa</param> </connection> <connection name="Windows 10"> <protocol>rdp</protocol> <param name="hostname">192.168.0.19</param> <param name="port">3389</param> </connection> </authorize> </user-mapping>
Comme c’est le cas pour tous les fichiers contenant des informations sensibles, il est important de restreindre les autorisations et de changer la propriété du user-mapping.xml
déposer:
$ sudo chmod 600 /etc/guacamole/user-mapping.xml $ sudo chown tomcat:tomcat /etc/guacamole/user-mapping.xml
Démarrez Tomcat et guacd.
$ sudo service tomcat9 start $ sudo /usr/local/sbin/guacd &
Lancement de l’interface Web Guacamole
8. Pour accéder à l’interface Web Guacamole, lancez un navigateur et pointez-le sur http://server:8080/guacamole
où le serveur est le nom d’hôte ou l’adresse IP de votre serveur (dans notre cas c’est http://192.168.0.100:8080/guacamole
) et connectez-vous avec les identifiants donnés précédemment (nom d’utilisateur : la menthe, le mot de passe: tecmint01):
9. Après avoir cliqué sur Connexion, vous serez redirigé vers l’interface d’administration où vous verrez la liste des connexions utilisateur la menthe a accès, selon user-mapping.xml
:
dix. Allez-y et cliquez sur le RHEL 8 boîte pour se connecter en tant que gacanepa (le nom d’utilisateur spécifié dans la définition de la connexion).
Notez comment la source de connexion est définie sur 192.168.0.100 (l’IP du serveur Guacamole), quelle que soit l’adresse IP de la machine que vous utilisez pour ouvrir l’interface web :
11. Si vous souhaitez fermer la connexion, tapez sortir et frappe Entrer. Vous serez invité à revenir à l’interface principale (Accueil), reconnectez-vous ou déconnectez-vous de Guacamole:
12. Il est maintenant temps d’essayer la connexion Bureau à distance à Windows 10 :
Toutes nos félicitations! Vous pouvez désormais accéder à un Windows 10 machine et un RHEL 8 serveur à partir d’un navigateur Web.
Sommaire
Dans cet article, nous avons expliqué comment installer et configurer Guacamole pour autoriser l’accès aux machines distantes via RDP et SSH. Le site officiel fournit une documentation complète pour vous aider à configurer l’accès à l’aide d’autres protocoles, tels que VNC et d’autres mécanismes d’authentification, tels que DB-based…
Comme toujours, n’hésitez pas à nous laisser un message si vous avez des questions ou des suggestions sur cet article. Nous sommes également impatients d’entendre vos réussites.
.