23 août 2025

Accéder à son serveur à distance avec Apache Guacamole : la solution RDP/SSH 100% web

🧪 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.

📧 foxitweb@gmail.com
🌐 cloudfoxit.fr

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *