Tout d'abord c'est quoi RustDesk? À l'instar de TeamViewer ou AnyDesk (qui vient de se faire hacker), cette application gratuite et open source va vous permettre de prendre le contrôle d'un ordinateur distant à partir d'un ordinateur, d'une tablette ou d'un smartphone.
Comme toutes les applications du genre, quand vous vous connectez à un ordinateur, votre connexion passe par un relais. Donc vos données transitent par un serveur qui ne vous appartient pas. Dans le cas de RustDesk c'est une serveur relais public rendezvous/relay (qui peut parfois être lent, d'ailleurs).
Avec RustDesk il est possible d'héberger son propre relais et ainsi avoir le contrôle total de bout en bout.
Donc ce tutoriel je ne vais pas vous expliquer comment installer l'application en elle-même mais bien le serveur relais entre deux clients.
Pour que votre relais soit accessible depuis internet:
- Soit vous utilisez un VPN et vous pourrez donc utiliser l'IP locale du relais mais il faudra demander à la personne que vous dépannez d'installer le VPN + le client RustDesk.
- Soit vous utilisez votre IP publique ou un nom de domaine. Il y a des .ovh pas cher à moins de 3€ l'année chez... OVH.
Nous allons aborder les deux méthodes.
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_045748.png)
Ouverture des ports
Avant de commencer, il va falloir ouvrir quelques ports vers l'IP de votre serveur.
TCP & UDP => 21116
TCP => 21115, 21116, 21117, 21118, 21119
Si vous utilisez un domaine
Votre reverse proxy devra faire pointer le domaine sur l'IP locale de votre serveur sur le port 21117, par exemple comme ceci:
http://192.168.1.145:21117
L'installation
- Créez votre docker-compose.yml:
sudo nano docker-compose.yml
- Collez ça dedans en prenant soin d'adapter, si nécessaire, les volumes suivant votre configuration.
Concernant la ligne command: hbbs -r mondomaine.com:21117:
- Soit vous mettez votre IP publique suivie de :21117
- Soit vous mettez votre nom de domaine suivi de :21117
- Soit, dans le cadre de l'utilisation du serveur relais avec un VPN, l'IP locale de votre serveur suivie de :21117
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r mondomaine.com:21117
volumes:
- /srv/appdata/rustdesk/data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- /srv/appdata/rustdesk/data:/root
networks:
- rustdesk-net
restart: unless-stopped
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
Récupération de la clé publique
Pour plus de sécurité, nos allons donc chiffrer la connexion.
Lors de la première installation de votre serveur relais RustDesk, sera créé un dossier data:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_051009.png)
Dans ce dossier il y aura, entre-autres, un fichier en particulier qui nous intéresse: la clé publique:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_051300.png)
Pour afficher et copier la clé, tapez cette commande:
more id_ed25519.pub
Ce qui va donner comme résultat:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_051703-1.png)
Copiez la clé quelque part, provisoirement.
Faites CTRL+C pour quitter l'affichage de la clé.
Configurer le relais dans le client RustDesk
Après avoir installé le client correspondant à votre système d'exploitation, cliquez sur les trois points:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_053028.png)
Cliquez sur Réseau. Vous aurez à remplir Serveur ID et Key.
- Serveur relais => vous indiquez, suivant la configuration que vous avez choisi plus haut, à savoir: soit votre IP publique, votre nom de domaine ou votre IP locale.
- Key => en réalité elle n'est pas nécessaire au bon fonctionnement du relais. C'est juste que si vous la mettez pas, tout passera en clair. Afin de chiffrer la connexion on va donc indiquer la clé publique que vous avez copié plus haut.
On valide en cliquant sur Appliquer.
![](https://belginux.com/content/images/2024/03/image.png)
Une fois que c'est validé, on clique sur Accueil et vous devriez avoir un 🟢 suivi de Prêt si tout s'est bien passé:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_054526.png)
Activer le mode sombre
Si ce n'est déjà pas fait, pour activer le mode sombre en cliquant sur Paramètres, ensuite Général et enfin sélectionner Sombre ou Suivi système si le mode sombre est activé dans votre système d'exploitation:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_054658.png)
Accepter les sessions
Dans Paramètres, Sécurité, Mot de passe, vous aurez trois choix pour accepter une connexion.
- Acceptez les sessions via mot de passe.
- Acceptez les sessions via clique de confirmation.
- Acceptez les sessions via mot de passe ou clique de confirmation.
C'est à vous de décider.
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_054931.png)
Inviter une personne sur votre relais
Afin que vous puissiez être connecté avec votre correspondant il faudra qu'il utilise donc votre relais.
Rien de compliqué, il faudra lui fournir le nom de domaine ou l'IP publique ou l'IP locale (+ l'accès au VPN), suivant votre choix et la clé publique afin que votre correspondant entre les informations comme on l'a vu plus haut:
![upload in progress, 0](https://belginux.com/content/images/2024/03/image.png)
Se connecter à un correspondant
Entrez son ID dans Contrôler le bureau à distance et cliquez sur Se connecter:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_061535.png)
De l'autre côté,votre correspondant recevra un message comme ceci:
![](https://belginux.com/content/images/2024/02/Screenshot_20240208_060913.png)
Disponibilité
Toutes les plateformes
Faites votre choix en fonction de votre système d'exploitation:
Android
Par F-Droid, qu'il faudra installer au préalable:
![](https://f-droid.org/repo/com.carriez.flutter_hbb/en-US/icon_4wWWXYc8mnw5ljPA9D4wDDHPUNleZb9f7m6U761-MpQ=.png)