Guacamole – RDP et VNC Client en HTML5

Lorsque vous avez une multitude de connexion bureau à distance, il est conseillé d’utiliser un gestionnaire qui vous permettra de vous organiser et surtout d’avoir un accès rapide à celle-ci. Nous avions vu que des outils comme Remote Desktop Organizer ou anciennement mRemote (RIP à ce dernier d’ailleurs) proposent ce genre d’arrangement. Cependant, l’inconvénient majeur est qu’il faut obligatoirement que le client lourd soit installé sur votre machine.

Guacamole est une solution qui vous permettra d’accéder à vos connexions bureau à distance via votre navigateur web, de n’importe où et sans logiciel nécessaire. Rien de plus !

YouTube Preview Image

Guacamole regroupera donc toutes les connexions sur une seule et unique interface web. Il se comportera comme une passerelle entre le serveur souhaité et vous et établira lui-même les connexions désirées. La partie serveur (celle qui établira la connexion pour vous) sera sous Linux (paquets disponibles pour Debian, Ubuntu et Fedora) et le client devra avoir bien entendu le RDP d’activé ou un server VNC de lancé.  Bien entendu moins poussé qu’un client lourd, Guacamole permet l’accès aux bureaux à distance uniquement par le protocole RDP et VNC en se basant sur les librairies libvncserver et libfreerdp. Voici les commandes afin de l’implémenter sur un serveur Ubuntu :

Installation des dépendances nécessaire :

apt-get install tomcat6 libvncserver0 libfreerdp1

Si vous êtes sur une installation récente, libcairo2 sera aussi nécessaire (un petit apt-get install libcairo2 et on en parle plus ;))Télécharger l’archive de Guacamole sur votre serveur suivant votre version d’Ubuntu puis décompresser la :

tar -xzf guacamole-0.7.1-ubuntu-12.04-amd64.tar.gz

Aller dans le dossier décompressé puis installer les packages avec la commande suivante :

dpkg -i *.deb

Notre serveur Guacamole est maintenant installé et prêt à être configuré. C’est justement le fichier /etc/guacamole/user-mapping.xml qui comportera toutes les principales informations des utilisateurs et des connexions. Deux choix sont possibles : utilisateurs avec mot de passe en clair et utilisateurs avec mot de passe haché md5. N’ayant pas encore testé le second, je vous fais qu’une configuration en clair (mais le md5 est tout aussi facile !!)

Dans l’exemple ci-dessous, deux serveurs différents utilisant pour l’un le VNC et le second RDP seront accessibles par mon utilisateur “Brad”, mot de passe “fromage”, voyez plutôt :

<user-mapping>
    <authorize username="brad" password="fromage">
        <connection name="Server #1">
            <protocol>vnc</protocol>
            <param name="hostname">192.168.0.1</param>
            <param name="port">5900</param>
            <param name="password">toto</param>
        </connection>

        <connection name="Server #2">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.0.2</param>
            <param name="port">3389</param>
            <param name="username">Admin</param>
            <param name="password">tata</param>
       </connection>
    </authorize>

</user-mapping>

Une fois le fichier sauvegardé, pointer votre navigateur web vers cette adresse : http://IP_server:8080/guacamole. Vous devriez tomber sur la page de login suivante : (si non vérifié que le service guacd est bien démarré)

 

guacamole_login

 

Loguez-vous avec les identifiants précédemment inscrit dans le fichier user-mapping.xml  La partie supérieure de l’interface regroupera vos connexions récemment utilisées pour un accès rapide, la seconde listera toutes les connexions disponibles (celles configurées dans le fichier user-mapping.xml et accessibles par l’utilisateur), la troisième est un papier presse permettant de copier/coller entre vos différentes sessions distantes et enfin la dernière regroupe deux options dont l’une afin d’ajuster l’affichage en fonction de la taille de la fenêtre de votre navigateur et la seconde de désactiver le son via RDP.

guacamole_main

Vous pouvez maintenant vous connecter sur les différentes sessions crées en cliquant sur celle-ci. La connexion s’ouvrira dans un nouvel onglet permettant ainsi d’avoir plusieurs bureaux à distance simultanément. Si tout est correctement configuré, la connexion s’établira normalement. Utilisé bien entendu un navigateur web récent afin d’avoir de meilleures performances notamment dans le déplacement de la souris.

Guacamole est donc un joli projet afin de centraliser ses connexions à distance. L’accès rapide à l’interface web via un ordinateur, une tablette ou un smartphone peut être très appréciable puisqu’il nécessite aucune installation d’application. Guacamole trouvera certainement sa place dans les entreprises où justement les protocoles RDP et VNC sont généralement bloqués ou au moins filtrés mais aussi pour simplifier la tâche aux administrateurs réseau en gérant les connexions disponibles pour ses client à un seul et unique endroit. Je noterai toutefois le petit défaut de ne pas pouvoir se connecter au mode console avec le RDP mais ce problème qui sera certainement solutionné prochainement.

La doc de Guacamole, très complète, vous permettra de vous aider dans vos configurations.

 

Leave a Reply

Your email address will not be published. Required fields are marked *