

Qu’est-ce que RustDesk ?
RustDesk est un logiciel de bureau à distance open-source qui permet aux utilisateurs de se connecter et de contrôler à distance un ordinateur depuis un autre appareil, comme un ordinateur portable, une tablette ou un smartphone. Il offre une interface conviviale et sécurisée pour accéder aux fichiers, aux programmes et aux fonctionnalités de l’ordinateur distant, le tout grâce à une connexion Internet. RustDesk est développé en utilisant le langage de programmation Rust, ce qui lui confère des performances élevées et une sécurité renforcée.
Le contexte de ce projet personnel
Je mets en place l’outil RustDesk que j’auto-héberge sur mon conteneur Docker à mon domicile, accessible depuis n’importe où. Cela me permet de contrôler à distance l’ordinateur de ma famille ou de mes proches en cas de problème informatique. Cela simplifie l’identification du problème et sa résolution éventuelle sans que je doive me déplacer.
I. Configuration des ports
Tout d’abord, avant de démarrer l’installation de RustDesk, il est nécessaire d’ouvrir certains ports pour pouvoir y accéder depuis n’importe où.
Voici les ports concernés, qu’il faut ouvrir sur son routeur (box internet) :
TCP : 21115, 21116, 21117, 21118, 21119
UDP : 21116


Les ports sont désormais correctement ouverts sur ma box internet pour accéder à mon docker. Nous pouvons maintenant procéder à l’installation de RustDesk.
II. Installation
Je me connecte en SSH à ma machine virtuelle Debian, sur laquelle docker est installé, puis j’exécute les commandes suivantes :
On exécute la commande suivante afin de vérifier que les deux containers tournent correctement :

RustDesk est installé sur docker, nous pouvons maintenant le tester.
Pour tester RustDesk, nous avons besoin de 2 pc, puis de télécharger le client en cliquant sur le lien suivant : https://github.com/rustdesk/rustdesk/releases
Une fois lancé, il faut que l’on configure le client RustDesk pour lui dire d’utiliser notre serveur auto-hébergé. Pour cela, on clique sur les 3 petits points à coté de ID (voir capture ci-dessous) :

Puis on se rends dans l’onglet « Réseau » :

On renseigne simplement le champ « Serveur ID » en indiquant l’adresse IP du serveur où l’on a installé RustDesk ou un nom de domaine. Puis on renseigne également le champ « Key » afin d’indiquer la clé publique générée par votre serveur RustDesk pour chiffrer la connexion.
Pour récupérer la valeur de votre clé publique, il faut retourner sur le Debian où est installé RustDesk, puis dans le dossier « /srv/rustdeskserver/ » en tapant la commande suivante :
Une fois dans le dossier, on recherche le fichier « id_ed25519.pub », j’exécute la commande ci-dessous, pour vérifier que le fichier contenant la clé est bien dans le dossier.

Enfin, on ouvrir le fichier « id_ed25519.pub » avec la commande suivante :
Puis on copie la valeur affiché jusqu’au signe égal et on colle dans le champ « Key » du client RustDesk.

Une fois copier-coller, on clique sur « Appliquer »

On retourne sur l’accueil du client RustDesk et vérifie s’il y a bien affiché « Prêt » en bas à gauche, comme ceci :

S’il y a bien affiché « Prêt », on peut maintenant configurer automatiquement l’hôte et la clé publique en modifiant simplement le nom de l’exécutable comme ceci :
rustdesk-host=192.168.1.149,key=xYzAbCdEfGhIjKlMn0123.exe
Vous remplacez les valeurs après le « host= » et « key= » avec votre adresse IP ou nom de domaine pour l’host et la valeur de votre clé publique, dont vous avez récupéré précédemment.
Une fois le nom modifié, on peut le mettre sur un deuxième pc pour effectuer le test en local puis en partage de connexion pour vérifier que ça fonctionne bien via internet.
Voilà, c’est la fin. Nous avons maintenant réussi à installer RustDesk !