Kostenlose Teamviewer Alternative – RustDesk
Sie suchen eine kostenlose Teamviewer Alternative für Ihren Remote Support oder zum Remote Management Ihrer Server? Mit RustDesk steht eine kostenlose und sichere Open Source Alternative für diesen Zweck zur Verfügung, die dem Funktionsumfang von Lösungen wie Teamviewer oder AnyDesk in nichts nachsteht.
Open Source und Self-Hosted
RustDesk ist eine kostenlose Teamviewer Alternative, in Form einer Open Source Lösung, die folgende Eigenschaften besitzt:
- Hohe Sicherheit durch Ende-zu-Ende-Verschlüsselung
- Volle Daten-Souveränität, da die Lösung in der eigenen Infrastruktur betrieben werden kann
- Keine erweiterne Rechte für den Einsatz des Clients notwendig
- Verfügbar für alle Plattformen: Windows, macOS, Linux, iOS, Android und Web
Die Besonderheit von RustDesk liegt darin, dass verschiedene Betriebsmodi angeboten werden, die alle kostenfrei sind.
- Verwendung des öffentlichen Verbindungsservers von RustDesk
- Einsatz eines selbst gehosteten Verbindungsservers mit vorkonfiguriertem Client
In diesem Artikel beschäftigen wir uns mit der Variante 2, die den Einsatz von RustDesk in der eigenen Infrastruktur beschreibt.
RustDesk Server unter Docker aufsetzen
Die einfachste Möglichkeit, einen eigenen RustDesk-Server aufzusetzen, ist innerhalb einer Docker-Umgebung. Siehe dazu auch unseren Artikel zur Installation von Docker unter Proxmox.
Unter Github wird von RustDesk praktischerweise ein docker-compose.yml
bereitgestellt, was mit minimalen Anpassungen an die eigene Umgebung direkt verwendet werden kann (RustDesk Server auf GitHub)
Die Installation besteht aus den zwei Bestandteilen (Services)
hbbs | RustDesk ID/Rendevous Server |
hbbr | RustDesk Relay Server |
Wichtig ist die Konfiguration des ID/Rendevous Servers im Service hbbs
, denn über diesen erfolgt die Vermittlung zwischen den Clients.
command: hbbs -r rustdesk.example.com:21117
Sofern Sie außerhalb Ihres Netzwerks Verbindungen herstellen möchten, dann muss hier eine Domain mit einer statischen Adresse bzw. eine DynDns-Adresse hinterlegt, sowie entsprechende Port-Weiterleitungen (NAT) eingerichtet werden..
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 rustdesk.example.com:21117
volumes:
- ./hbbs:/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:
- ./hbbr:/root
networks:
- rustdesk-net
restart: unless-stopped
Je nachdem, wie Sie die yml-Datei verwenden (direkt oder zum Beispiel als Stack in Portainer) sollten Sie die Volume-Verweise für die Verzeichnisse hbbs und hbbr entsprechend anpassen. Auf meinem Docker-Server sind diese beispielsweise wie folgt angepasst:
volumes:
- /root/rustdesk/hbbs:/root
volumes:
- /root/rustdesk/hbbr:/root
Wie Sie grundsätzlich mit persistenten Daten im Kontext von Docker und Containern umgehen, haben wir in unserem Artikel zur Datenpersistenz unter Docker beschrieben.
Wenn Sie die Container eingerichtet und gestartet haben, sollte dies auf dem Docker Server wie folgt aussehen:

Bei einem externen Zugriff auf den RustDesk-Server müssen die benötigten Portfreigaben im Router für den Server hinterlegt werden (Beispiel Fritz!Box):

Hinweis zur Verschlüsselung
Beim Start des Servers legt RustDesk ein Key-Paar zur Verschlüsselung der Kommunikation an. In Vorbereitung eines selbstgehosteten Servers ist hier eine Besonderheit zu beachten.
In dem gemappten Verzeichnis hbbs
befindet sich die Datei id_ed25519.pub
mit dem öffentlichen Schlüssel:
root@RustDeskServer:~/rustdesk/hbbs# ls -la
total 32
drwxr-xr-x 2 root root 7 Jun 18 21:21 .
drwxr-xr-x 4 root root 4 Jun 18 10:22 ..
-rw-r--r-- 1 root root 4096 Jun 18 10:24 db_v2.sqlite3
-rw-r--r-- 1 root root 32768 Jun 23 09:06 db_v2.sqlite3-shm
-rw-r--r-- 1 root root 131872 Jun 23 09:06 db_v2.sqlite3-wal
-rw-r--r-- 1 root root 88 Jun 18 21:21 id_ed25519
-rw-r--r-- 1 root root 44 Jun 18 21:21 id_ed25519.pub
Der öffentliche Schlüssel sieht zum Beispiel so aus:
QmpC8AFUNay3Zo94NMXOeW8PMbi6eFLq25YfZxBl4=
Da bei einem eigenen Server der Hostname und der Schlüssel im Dateinamen des Clients übergeben wird (ist komisch, ist aber so) muss darauf geachtet werden, dass sich in dem öffentlichen Schlüssel nur Zeichen befinden, die für einen gültigen Dateinamen unter Windows zulässig sind.
Ist das nicht der Fall, stoppen Sie die Container, löschen Sie die Dateien id_ed25519
und id_ed25519.pub
und starten Sie die Container erneut, das Schlüsselpaar wird neu erstellt.
RustDesk Client konfigurieren
Den RustDesk Client laden Sie sich ganz normal von der Webseite von RustDesk herunter (Link für WIndows-Client).
Wenn Sie den öffentlichen Server von RustDesk verwenden möchten, starten Sie den Client, es muss nichts weiter konfiguriert werden.

Wenn wir, wie in diesem Artikel, einen eigenen Server betreiben, dann muss der Client wissen, zu welchem Server er sich verbinden soll. Dazu gibt es zwei Alternativen:
Serverkonfiguration im Client
Klicken Sie im Client neben Ihrer angezeigten ID auf die drei Punkte, es erscheint eine Auswahlliste:

Wählen Sie „ID/Verbindungsserver“, es erscheint der folgende Dialog:

Tragen Sie Ihre öffentliche Domain oder IP als ID Server
und Ihren Public Key (siehe oben) als Key
ein und bestätigen Sie mit OK. Wenn der Server erreichbar ist, sehen Sie in der Statusleiste des Clients den Hinweis „Bereit“ mit einem grünen Punkt.
Serverkonfiguration im Dateinamen des Clients
Wenn Sie für Ihre Kunden Remote-Support anbieten und den Client zum Beispiel auf Ihrer Webseite zum Download bereitstellen möchten, dann wäre es sehr unpraktisch, wenn der andere Teilnehmer erst den Client bei sich mit Ihren Serverdaten und dem Public Key konfigurieren müsste. RustDesk bietet daher eine weitere Konfigurationsmöglichkeit an, die allerdings nur unter Windows funktioniert.
Und zwar hinterlegen Sie die Konfiguration von Host und Key im Dateinamen der Rust Client EXE, das sieht dann zum Beispiel so aus:
rustdesk-host=meine.domain.de,key=QmpC8AFUNay3Zo94NMXOeW8PMbi6eFLq25YfZxBl4=.exe
Wenn Sie in das Menü innerhalb des Clients gehen und „Über RustDesk“ aufrufen, sollten Sie folgenden Dialog sehen.

Der Client wurde erfolgreich über den Dateinamen konfiguriert.
Verbindungsaufnahme zu einem Client
Hier unterscheidet sich die kostenlose Teamviewer Alternative nicht zu anderen Remote-Support Tools. Sie sehen im RustDesk Client Ihre eigene ID, die Sie der Gegenseite zum Verbinden angeben. Alternativ geben Sie über das Eingabefeld die ID der Gegenseite an, um eine Verbindung aufzunehmen.

Über die Aktionsleite im Fenstertitel sehen Sie, dass eine verschlüsselte Verbindung (grüner Schild) verwendet wird. Hier können Sie auch weitere Aktionen von RustDesk initiieren.
Fazit
RustDesk stellt eine kostenlose Teamviewer Alternative dar, die mit Ihrem Funktionsumfang bezogen auf Remote-Administration anderen Programmen in nichts nachsteht.
Wenn Sie auf „Business“-Funktionalitäten vergleichbarer Lösungen, wie Rechte- und Benutzermanagement verzichten können, dann sollten Sie sich die mittlerweile hohen und pro Benutzer pro Monat fälligen Kosten dieser Programme sparen – Sie erhalten mit RuskDesk vollwertigen Ersatz.
Danke für den Artikel. Das wollte ich grade ausprobieren, bin aber schon beim ersten Test – Ohne Server – auf ein richtiges Problem gestoßen, dass rustdesk leider für mich praktisch nutzlos machen würde, wenn es dafür keine Lösung gibt.
rustdesk scheint nur mit EN-Tatstaturbelegung gut zu funktionieren. Die „Alt Gr“ Taste funktioniert nicht. Ich weiß, ein Thema das auch an anderer Stelle prominent ist (z.B. Windows RDP). Es gibt bei rustdesk im repo auch entsprechende Tickets (z.B. https://github.com/rustdesk/rustdesk/issues/406#issuecomment-1243859300).
Wie sind Deine Erfahrungen damit?
Schönen Tag noch.
Hallo Stefan,
ich kann das nicht bestätigen, allerdings betreibe ich einen eigenen Server. Tilde- und @ Zeichen funktionieren zum Beispiel wunderbar.
Ich habe dazu auch gerade einen Kommentar auf github geschrieben:
https://github.com/rustdesk/rustdesk/issues/406#issuecomment-1250037106
Viele Grüße
Danke für die Rückmeldung, dann will ich mal mit dem Server fortfahren.
Im Repo von rustdeskt gibt es wirklich viele Einträge bezüglich Problemen mit der Tastatur. Möglicherweise gibt es mit einer der nächsten Veröffentlichungen eine generelle Lösung. Siehe hier https://github.com/rustdesk/rustdesk/pull/964.
Schönen Sonntag noch.
Den Server habe ich aufgesetzt, allerdings mit gleichem Ergebnis. Die Tastatur wird nicht gemappt. Vielleicht weil von Linux zu Windows. Keine Ahnung. Windows Windows muss ich noch probieren. Interessant wäre da noch einen Client zu bauen, der die Einstellungen zum eigenen Server schon mitbringt. Aber damit habe ich mich noch nicht auseinandergesetzt.
Zur Konfiguration des Clients hatte ich vor einiger Zeit bereits einen Lösungsvorschlag abgesetzt:
https://github.com/rustdesk/rustdesk/discussions/966