Files
wiki/Catalogue-Self-Hosted/apps/app-guacamole.md
T
2026-06-09 18:40:21 +02:00

4.0 KiB


title: Apache Guacamole created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, remote-access, rdp, vnc, ssh, html5, gateway, apache] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Remote+Access, https://github.com/apache/guacamole-server]

🌐 Apache Guacamole

Référence incontournable : passerelle HTML5 multi-protocoles (RDP, VNC, SSH, Telnet, Kubernetes) 100% navigateur.

📋 Informations Générales

Attribut Valeur
Nom Apache Guacamole
Slug guacamole
Description Gateway clientless pour RDP, VNC, SSH, Telnet depuis un navigateur
Site officiel https://guacamole.apache.org
Repository https://github.com/apache/guacamole-server
Stars 3 856
Licence Apache-2.0
Langage principal Java / C
Catégorie Remote Access
Tags [catalogue, remote-access, rdp, vnc, ssh, html5, gateway, apache]

📝 Description

Apache Guacamole est la passerelle de remote access en self-hosted : un projet de la Fondation Apache, mature depuis 2010, utilisé aussi bien par des homelabs que par de grandes entreprises. Sa promesse est simple — accéder à n'importe quelle machine (RDP, VNC, SSH, Telnet, Kubernetes) depuis un simple navigateur, sans installer de client.

L'architecture est en deux parties : guacd (proxy C qui parle les protocoles) et le client web (HTML5/JavaScript). L'authentification passe par une base de données (MySQL/PostgreSQL) et supporte LDAP, RADIUS, TOTP, header auth (reverse proxy SSO). C'est la solution de référence pour unifier l'accès à un parc hétérogène derrière une seule URL HTTPS.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  guacd:
    image: guacamole/guacd:latest
    container_name: guacd
    restart: unless-stopped

  postgres:
    image: postgres:16-alpine
    container_name: guacamole-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: guacamole_db
      POSTGRES_USER: guacamole
      POSTGRES_PASSWORD: ChangeMe!
    volumes:
      - ./db:/var/lib/postgresql/data

  guacamole:
    image: guacamole/guacamole:latest
    container_name: guacamole
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRES_HOSTNAME: postgres
      POSTGRES_DATABASE: guacamole_db
      POSTGRES_USER: guacamole
      POSTGRES_PASSWORD: ChangeMe!
    depends_on:
      - guacd
      - postgres

Installation manuelle

guacd doit être compilé (paquets Debian/Ubuntu guacd disponibles), le webapp déployé en WAR dans Tomcat, schéma SQL importé.

⚙️ Configuration

  • Connexions définies par admin, regroupables, avec partage de credentials.
  • Authentification : locale, LDAP/AD, RADIUS, TOTP, header (Authelia, Authentik).
  • Groupes et permissions fines par utilisateur.
  • Transfert de fichiers SFTP/SCP/clipboard partagé selon protocole.
  • Enregistrement de session via extensions MySQL.

🔗 Alternatives

  • MeshCentral — orienté remote management avec agent.
  • Nexterm — plus moderne mais moins de protocoles.
  • Warpgate — bastion zero-trust, plus axé sécurité.
  • Sshwifty / WeTTY — strictement SSH/Telnet web.

🔒 Sécurité

  • MFA TOTP intégrée, SSO via header reverse-proxy (Authelia/Authentik).
  • Audit log complet, extensible.
  • Pas d'agent sur les machines cibles, mais un proxy sur le serveur.
  • Apache 2.0, code audité, projet très suivi côté sécurité.

📚 Ressources

🔗 Pages Liées