Post

RustDesk

RustDesk

RustDesk propose une solution de bureau à distance open source avec des options de serveur auto-hébergé. Alternative parfaite à TeamViewer pour un accès à distance sécurisé, privé et personnalisable.

Comment fonctionnent les clients Rustdesk et Teamviewer ?
Les clients Rustdesk et Teamviewer fonctionnent de la même manière.

Admettons que vous êtes sur un ordinateur “A” et que vous voulez afficher le bureau distant de l’ordinateur “B” :

  • On met le client Teamviewer ou le client Rustdesk sur l’ordinateur “A”
  • On met le client Teamviewer ou le client Rustdesk sur l’ordinateur “B”
  • On met les informations de connexion de “B” dans le client de “A” et on se connecte. L’application demande le mot de passe et hop, on est connecté à “B”.

D’un point de vue réseau, la connexion n’est pas directe de “A” vers “B”. Elle passe par un ordinateur tiers qui appartient à Teamviewer ou Rustdesk. On appelle cet ordinateur intermédiaire : un relais.

Création serveur relais Rustdesk

Installation du relais Rustdesk sur un système d’exploitation Debian.

Avantages serveur relais Rustdesk

  • Connexion privée : Si tous les ordinateurs passent par un relais privé, alors l’identifiant (ID) de chaque ordinateur n’est pas rendu public ! L’ID est connu du serveur relais. Quelqu’un d’extérieur ne peut pas se connecter à un de vos ordinateurs, même s’il possède son ID et son mot de passe puisqu’il doit se connecter au relais pour que ça fonctionne. Les connections qui passent par le relais sont donc privées.
  • Maîtrise de votre périmètre : Le serveur relais fait partie de votre périmètre, de votre architecture. Vous avez la main sur sa maintenance, sa mise à jour, sa sécurité.
  • Indépendance : vous ne dépendez de personne.
  • Rustdesk est open source donc vous pouvez contrôler à tout moment la sécurité du logiciel. Ceci est impossible avec Teamviewer.
  • C’est gratuit. Alors que Rustdesk pro et Teamviewer ont des offres payantes pour ce type de service.

Où installer le relais, et sur quel serveur ?

Il est conseillé de mettre le relais sur un serveur VPS. Officiellement, les prérequis sont tellement faibles pour le serveur que n’importe quel VPS bon marché fera l’affaire. Même un Raspberry Pi serait assez puissant pour faire tourner le relais.

Matériel utilisé: VPS Contabo Debian 12

Téléchargement et installation

Il y a 2 packages à installer. Les 2 sont disponibles sur le github officiel. Il s’agit de :

  1. hbbr (RustDesk ID/Rendezvous server) : rustdesk-server-hbbr_amd64.deb
    • hbbs (RustDesk Relay server) : rustdesk-server-hbbs_amd64.deb

On ne va pas s’étendre que les différences entre hbbr et hbbs… Tout ce dont vous avez besoin de savoir c’est que les 2 packages sont à installer sur votre serveur Debian.

Donc avec la version 1.1.12, cela donne :

1
2
3
4
wget "https://github.com/rustdesk/rustdesk-server/releases/download/1.1.12/rustdesk-server-hbbr_1.1.12_amd64.deb"
wget "https://github.com/rustdesk/rustdesk-server/releases/download/1.1.12/rustdesk-server-hbbs_1.1.12_amd64.deb"
sudo dpkg -i rustdesk-server-hbbr_1.1.12_amd64.deb
sudo dpkg -i rustdesk-server-hbbs_1.1.12_amd64.deb

Les deux services sont activés lors de l’installation

1
systemctl status rustdesk-hbbs && systemctl status rustdesk-hbbr

Les logs sont situés dans /var/log/rustdesk-server/

Ouvrir les port sur le firewall

Par défaut, hbbs écoute sur 21115(tcp) et 21116(tcp/udp), 21118(tcp),et hbbr écoute sur 21117(tcp), 21119(tcp). Assurez-vous d’ouvrir ces ports dans le pare-feu. Veuillez noter que 21116 doit être activé à la fois pour TCP et UDP. Le port 21115 est utilisé pour le test de type NAT, le port 21116/UDP est utilisé pour l’enregistrement de l’ID et le service Heartbeat, le port 21116/TCP est utilisé pour le service de perforation et de connexion TCP, le port 21117 est utilisé pour les services de relais, et les ports 21118 et 21119 sont utilisés pour supporter les clients Web. Si vous n’avez pas besoin du support des clients web (21118, 21119), les ports correspondants peuvent être désactivés.

  • TCP : 21115, 21116, 21117
  • UDP : 21116

Pour autoriser le serveur RustDesk sur ufw :

1
2
3
sudo ufw allow 21115:21119/tcp
sudo ufw allow 8000/tcp
sudo ufw allow 21116/udp

Désinstallation serveur relais

Il faut supprimer les paquets et services installés

1
2
sudo dpkg -r rustdesk-server-hbbr
sudo dpkg -r rustdesk-server-hbbs

Supprimer les règlesdu parefeu ufw

1
2
3
4
5
6
# 1 - Lister les règles avec un numéro
sudo ufw status numbered
# 2 - Effacer une règle par son numéro
# Exemple règle N° 5
sudo ufw delete 5
# Reprendre en 1 pour effacer d'autres règles

VPS webdock (Relais RustDesk)

Relais Rustdesk sur VPS websock Danemark

VPS webdock (Relais RustDesk)

  • Adresse IP relais Rustdesk : 92.113.144.37
  • Clé publique : hYy75QpoJ1oBYAxwyZB14mA4axNUwuvIfF7kVyUMr5I=

Clients Rustdesk

Application Rustdesk

Page de téléchargement application Rustdesk https://github.com/rustdesk/rustdesk/releases/

Archlinux Manjaro EndeavourOS

Paquet archlinux .zst
Télécharger le fichier

1
wget https://github.com/rustdesk/rustdesk/releases/download/1.3.8/rustdesk-1.3.8-0-x86_64.pkg.tar.zst 

Installer le paquet

1
yay -U rustdesk-1.3.8-0-x86_64.pkg.tar.zst

Ignorer les mises à jour rustdesk, edition /etc/pacman.conf

1
IgnorePkg   = rustdesk

Effacer le zst

1
rm rustdesk-1.3.7-0-x86_64.pkg.tar.zst

Linux AppImage

Sur des systèmes linux, télécharger le fichier AppImage

1
wget https://github.com/rustdesk/rustdesk/releases/download/1.3.8/rustdesk-1.3.8-x86_64.AppImage

Déplacement et droit en exécution

1
2
sudo mv rustdesk-1.3.8-x86_64.AppImage /usr/local/bin/rustdesk
sudo chmod +x /usr/local/bin/rustdesk

Le fichier desktop /usr/share/applications/rustdesk.desktop

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[Desktop Entry]
Name=RustDesk
GenericName=Remote Desktop
Comment=Remote Desktop
Exec=rustdesk %u
Icon=rustdesk
Terminal=false
Type=Application
StartupNotify=true
Categories=Network;RemoteAccess;GTK;
Keywords=internet;
Actions=new-window;

X-Desktop-File-Install-Version=0.23

[Desktop Action new-window]
Name=Open a New Window
Exec=rustdesk %u

Authentification client Rustdesk

Pour que le client Rustdesk puisse utiliser le relais, il faut lui donner 2 choses :

  1. Adresse IP du serveur relais: 92.113.144.37
  2. La clé publique qui permet l’authentification sur le relais. Cette clé est enregistrée dans le fichier id_ed25519.pub qui est, sous Debian, dans le répertoire /var/lib/rustdesk-server/
    Un simple cat permet de récupérer la clé publique
    La clé publique : hYy75QpoJ1oBYAxwyZB14mA4axNUwuvIfF7kVyUMr5I=

Attention : Cette clé publique ne sert que pour la connexion client -> relais.
Ce n’est pas pour s’authentifier sur un ordinateur à distance, c’est le rôle du mot de passe que vous avez paramétré dans la configuration du client

Une fois que vous avez la clé publique, il faut paramétrer le client.
Ouvrir l’application
ATTENTION: Lancer le service si demandé
Les paramètres du clients : Cliquez sur les trois points à droite de l’ID

Puis Réseau et ID/Serveur Relais


Dans la configuration, on va donc dans “Réseau” et on “déverrouille les configurations réseau (si demandé)”.
Puis on met l’IP du serveur relais dans “Serveur relais” et la clé secrète (clé du serveur présente dans id_ed2559.pub) dans “Key”.

Retour sur “Acceuil”, le client est paramétré !

Windows

Comment prendre la main sur un PC à distance avec Rustdesk sur Windows

Installation client RustDesk windows

1
•Téléchargez le client RustDesk pour Windows depuis ce lien <https://github.com/rustdesk/rustdesk/releases/tag/1.3.6>    ![](/images/RustDesk-06.png)   Et installer   ![](/images/RustDesk-07.png)   ![](/images/RustDesk-08.png)   ![](/images/RustDesk-08a.png)  

Les paramètres du clients : Cliquez sur les trois points à droite de l’ID

Puis Réseau et ID/Serveur Relais


Dans la configuration, on va donc dans “Réseau” et on “déverrouille les configurations réseau”. Puis on met l’IP du serveur relais dans “Serveur relais” et la clé secrète (clé du serveur présente dans id_ed2559.pub) dans “Key”.

Client EndeavourOS PC1

Prendre la main d’un client windows par RustDesk sur PC1

Appelé Windows

Le client lance l’application RustDesk et communique l’ID et le mot de passe unique à celui qui prend la main

Le client windows est paramétré !

ID: 11 364 084
Mot de passe unique: 6vyqrz

Appelant PC1

Lancer l’application RustDesk et saisir ID

et Mot de passe unique

Cet article est sous licence CC BY 4.0 par l'auteur.