RustDesk self‑hosté : déployer un serveur local (hbbs + hbbr)

19 août 2025 • Remote • Réseau • Sécurité

Objectif : héberger soi‑même RustDesk pour que toutes les connexions passent par votre infrastructure, sans dépendre du cloud public. Idéal pour la confidentialité, la conformité et les faibles latences en LAN.

Pourquoi un serveur local ?

RustDesk, c’est quoi ? À quoi ça sert ?

RustDesk est un logiciel de prise en main à distance open‑source (AGPL) et multi‑plateforme (Windows, macOS, Linux, Android, iOS). C’est une alternative à TeamViewer/AnyDesk qui peut fonctionner soit via le réseau public par défaut, soit en mode self‑host avec votre propre serveur (hbbs + hbbr).

Pourquoi l’héberger en local ?

Architecture en 2 briques

hbbs (ID / rendezvous)

  • Attribue les ID et négocie la session (découverte NAT).
  • Ports : 21115/tcp (ID), 21116/tcp+udp (handshake), 21118/tcp (WebSocket).

hbbr (relay)

  • Relais du flux si le P2P direct échoue (NAT strict / firewall).
  • Port : 21117/tcp (optionnellement UDP selon config).
Astuce : montez le même volume sur hbbs et hbbr pour partager la même paire de clés serveur et éviter la « discordance des clés ».

Déploiement rapide (Docker sur NAS/VM)

Créer un dossier persistant :

mkdir -p /volume1/docker/rustdesk

Lancer hbbs (serveur d’ID) :

docker run -d --name rustdesk-hbbs \
  -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 \
  -v /volume1/docker/rustdesk:/root \
  rustdesk/rustdesk-server hbbs

Récupérer la clé du serveur (à copier côté clients, champ Key) :

docker logs --tail=50 rustdesk-hbbs | grep 'Key:'

Lancer hbbr (relay) en partageant le même volume :

docker run -d --name rustdesk-hbbr \
  -p 21117:21117 \
  -v /volume1/docker/rustdesk:/root \
  rustdesk/rustdesk-server hbbr
Redémarrage auto : docker update --restart unless-stopped rustdesk-hbbs rustdesk-hbbr

Configuration des clients

  1. Ouvrir Paramètres → Réseau → Serveur ID/relais.
  2. Renseigner :
    • Serveur ID : IP_du_NAS
    • Serveur relais : IP_du_NAS
    • Key : collez la chaîne base64 vue dans les logs (Key: ...=)
  3. Valider, puis redémarrer RustDesk.
  4. Sur la machine à contrôler : activer Accès sans surveillance et définir un mot de passe.

Accès depuis Internet (facultatif)

Rediriger dans votre routeur vers le NAS : 21115/tcp, 21116/tcp+udp, 21117/tcp. Utiliser un DDNS (ex : xxx.synology.me). Limiter l’exposition (filtrage IP, pare‑feu).

Sécurité & bonnes pratiques

Diagnostic rapide

Cheat‑sheet

# Voir la clé serveur
docker logs rustdesk-hbbs | grep 'Key:'

# Redémarrer les services
docker restart rustdesk-hbbs rustdesk-hbbr

# Sauvegarder les clés
cp /volume1/docker/rustdesk/id_ed25519* /volume1/backup/rustdesk/

# Nettoyage complet (avec prudence)
docker stop rustdesk-hbbs rustdesk-hbbr && docker rm rustdesk-hbbs rustdesk-hbbr
rm -rf /volume1/docker/rustdesk/*

Édition communautaire open‑source : gratuite et suffisante pour un usage perso/PME. Une édition Pro ajoute des fonctions d’admin centralisée (optionnelle).

← Retour au blog