Auto-héberger RustDesk (alternative open source à TeamViewer)

Vous souhaitez une solution alternative à TeamViewer, et qui plus est auto-hébergée et à un prix bien plus bas que son concurrent, je vous invite à opter pour RustDesk 🙂

Voici une procédure pour l’installer sur un Debian 11 ou 12 avec Docker (Commandes à réaliser en tant que su) :

  • docker image pull rustdesk/rustdesk-server –> Récupération de l’image officielle du container
  • mkdir /srv/rustdeskserver –> Création du dossier /srv/rustdeskserver
  • cd /srv/rustdeskserver –> Se rendre dans le dossier nouvellement créé
  • docker run --name hbbs -d -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v 'pwd':/root -it --net=host rustdesk/rustdesk-server hbbs -r @IP_LAN_du_server_hebergeant_RustDesk:21117 –> Démarrage du container hbbs
  • docker run --name hbbr -d -p 21117:21117 -p 21119:21119 -v 'pwd':/root -it --net=host rustdesk/rustdesk-server hbbr –> Démarrage du container hbbr
  • docker ps –> Pour vérifier que les containers soient bien UP

Côté Firewall, il faut absolument que les ports suivants soient accessibles depuis l’extérieur :

  • 21115 (TCP) : Utilisé pour tester le type de NAT
  • 21116 (TCP/UDP) : TCP pour le service de connexion et UDP pour pour l’enregistrement de l’ID et le service heartbeat
  • 21117 (TCP) : Utilisé pour les services de relais
  • 21118 (TCP) et 21119 (TCP) : Utilisés pour les clients Web, donc ces deux ports ne sont pas forcément nécessaires

Ensuite, sur le client RustDesk, il vous faut configurer le Serveur ID et la Key.

Configuration RustDesk

Le Serveur ID correspond à l’adresse IP publique de votre serveur RustDesk, et la Key correspond à celle du fichier id_ed25519.pub présent dans le Repo /srv/rustdeskserver/ de votre serveur Debian.

Sinon plutôt que de configurer chaque machine avec l’adresse IP publique du serveur et la clé publique, il est possible de jouer sur le nom de l’exécutable. En effet, il vous faut renommer votre exécutable RustDesk comme ceci : rustdesk-host=@_IP_Publique_du_serveur_RustDesk,key=clé_publique.exe