🧪 Cas d’usage typique :
Vous êtes au travail, l’accès RDP vers votre serveur OVH est bloqué par le firewall de l’entreprise.
Grâce à une VM Debian avec Guacamole installé, vous pouvez reprendre la main depuis un simple navigateur.
🚀 Tutoriel : installer Apache Guacamole sur une VM Debian via Docker
🔧 Prérequis
- Une VM Debian (physique ou virtuelle, chez OVH ou autre) ou via vmwareworksation
- Docker et Docker Compose installés
- Accès root (sudo)
- Un port libre (par défaut : 8080)
📦 Étape 1 – Installer Docker & Docker Compose
bashCopierModifiersudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker --now
📁 Étape 2 – Créer un répertoire pour Guacamole
mkdir ~/guacamole && cd ~/guacamole
📝 Étape 3 – Créer le fichier docker-compose.yml
Crée le fichier avec :
nano docker-compose.yml
Et colle ceci :
version: '2'
services:
guac_mysql:
image: mysql:5.7
container_name: guac_mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: guacamole_db
MYSQL_USER: guacamole_user
MYSQL_PASSWORD: guacamole_password
guacd:
image: guacamole/guacd
container_name: guacd
restart: always
guacamole:
image: guacamole/guacamole
container_name: guacamole
restart: always
ports:
- "8080:8080"
links:
- guac_mysql:mysql
- guacd:guacd
environment:
MYSQL_HOSTNAME: guac_mysql
MYSQL_PORT: 3306
MYSQL_DATABASE: guacamole_db
MYSQL_USER: guacamole_user
MYSQL_PASSWORD: guacamole_password
Sauvegarde avec CTRL+O
, puis Entrée
, puis CTRL+X
pour quitter.
▶️ Étape 4 – Démarrer les conteneurs
docker-compose up -d
Attends quelques secondes, puis teste localement :
http://<IP locale>:8080/guacamole
🧱 Étape 5 – Créer l’utilisateur guacadmin
Entre dans MySQL :
docker exec -it guac_mysql mysql -u root -p
Puis :
USE guacamole_db;
INSERT INTO guacamole_entity (name, type) VALUES ('guacadmin', 'USER');
INSERT INTO guacamole_user (
entity_id,
password_hash,
password_salt,
password_date
)
SELECT
entity_id,
UNHEX(SHA2(CONCAT('salt123', 'guacadmin'), 256)),
'salt123',
NOW()
FROM guacamole_entity
WHERE name = 'guacadmin';
INSERT INTO guacamole_system_permission (entity_id, permission)
SELECT entity_id, 'ADMINISTER'
FROM guacamole_entity
WHERE name = 'guacadmin';
EXIT;
Puis redémarre le conteneur Guacamole :
docker restart guacamole
🌍 Étape 6 – Accéder à distance (depuis le bureau ou mobile)
Accède à :
http://<IP publique OVH>:8080/guacamole
Identifiant :
guacadmin
Mot de passe :guacadmin
🛡️ Étape 7 – (Optionnel mais recommandé) Sécuriser l’accès avec HTTPS + Reverse Proxy
Tu peux mettre en place :
- Un Nginx avec certificat Let’s Encrypt
- Un fail2ban
- Une restriction IP ou authentification 2FA
Cloudfox IT peut t’accompagner dans cette étape 🔐
📞 Besoin d’aide ?
Contacte moi pour :
- Déploiement de Guacamole dans un environnement pro
- Configuration RDP/SSH multi-utilisateurs
- Sécurisation avec HTTPS, LDAP, reverse proxy, etc.