RustDesk : alternative open source à TeamViewer

Sommaire
Si comme moi, vous étiez à la recherche d’une alternative libre à TeamViewer, je vous propose RustDesk !
RustDesk est une application de prise en main à distance, chiffrée de bout en bout, avec un serveur qu’il est possible d’héberger. Elle fonctionne aussi bien en LAN qu’en accès externe via Internet.
Ses points forts :
- Open source et gratuit
- Fonctionne sans configuration réseau complexe (NAT, etc.)
- Serveur d’identification et de relais en auto hébergement
- Application disponible sur Windows, Linux, macOS, Android, iOS
Pourquoi l’auto-héberger ?
Héberger vous-même les serveurs hbbs
(serveur public) et hbbr
(serveur de relais) permet :
- de garantir que vos connexions ne passent par aucun tiers
- de supprimer toute dépendance à l’infrastructure de RustDesk
- d’intégrer RustDesk dans votre écosystème existant (reverse proxy, DNS, etc.)
Installation
Pour l’installer, je ne vais pas changer de méthode… Un petit fichier docker-compose.yml
:
services:
hbbs:
image: docker.io/rustdesk/rustdesk-server:latest
container_name: rustdesk
hostname: hbbs
command: hbbs
env_file: rustdesk.env
ports:
- 21115:21115
- 21116:21116/tcp
- 21116:21116/udp
volumes:
- ./files:/root
depends_on:
- hbbr
restart: always
hbbr:
image: docker.io/rustdesk/rustdesk-server:latest
container_name: rustdesk-relay
hostname: hbbr
command: hbbr
ports:
- 21117:21117
volumes:
- ./files:/root
restart: always
Et son fichier rustdesk.env
associé :
ALWAYS_USE_RELAY=N
Si cela est possible, RustDesk effectuera une connexion peer to peer entre les 2 machines pour de meilleures performances. Mais vous pouvez forcer l’utilisation du serveur de relais.
Firewall
Dans le cas où vous utilisez un firewall, pensez à ouvrir les ports en conséquence. Certains ne nécessitent que du TCP, et un nécessite à la fois du TCP et de l’UDP. Regardez directement le fichier docker-compose.yml
pour avoir les informations.
Si comme moi vous utilisez ufw, voici les commandes à passer pour l’ajout des ports :
sudo ufw allow 21115/tcp
sudo ufw allow 21116
sudo ufw allow 21117/tcp
Configuration côté client
Dans l’appli RustDesk (sur desktop ou mobile), il suffit d’indiquer les éléments suivants dans les paramètres, dans Serveur ID/relais :
- Serveur ID : l’IP ou le nom DNS de votre serveur
- Serveur relais : même chose
- Serveur API : laissez-le à vide
- Key : Clé publique générée par RustDesk (fichier
id_ed25519.pub
présent dans le volume)

Et c’est tout ! Les connexions ne passent plus par un serveur tiers. A noter que tous les appareils que vous voulez faire communiquer doivent passer par ce même serveur.
Conclusion
RustDesk est une excellente alternative à TeamViewer, qui m’a posé quelques soucis dernièrement (une histoire de licence…). Le fonctionnement est sensiblement le même. Et vous n’êtes pas obligé d’héberger un serveur pour l’utiliser. Notez toutefois que vous passerez donc par leurs serveurs. Mais ce n’est finalement pas pire que d’utiliser TeamViewer… 😊