Zum Inhalt springen

Rustdesk – die OpenSouce Alternative zu Teamviewer

Früher war ich ein Fan der Remote Control Software Teamviewer. Doch als sich zum einen die Preispolitik von einer einmaligen Zahlung auf ein Abo-Modell geändert hat habe ich etwas Abstand von dem Produkt genommen (TeamViewer Business – zu 32,90 € / Monat bei jährlicher Zahlung – Stand 10/2023).

Darüber hinaus hat sich die Oberfläche des Clients so stark verändert, dass, meiner Meinung nach, das Produkt nicht mehr benutzbar ist. Vielleicht stehe ich mit meiner Meinung alleine da, dennoch halte ich daran fest, dass mit jedem Update die Kernfunktion des einfachen Remote Supports immer mehr in den Hintergrund tritt.

Es gab also viele Gründe, sich nach Alternativen in diesem Bereich umzusehen. Dabei bin ich nun bei dem Produkt RustDesk hängen geblieben. Der Aufbau und die Funktionsweise sind ähnlich zu AnyDesk oder TeamViewer. Der entscheidende Vorteil ist, dass RustDesk eine Open-Source-Software ist.

Bei der Benutzung kann man entscheiden, ob man für die Verbindung die öffentlichen Server von RustDesk nutzt oder den gesamten Daten-Traffic für die Sitzungen über einen selbst gehosteten Server sendet.

Letzteres ist natürlich aus Sicht des Datenschutzes optimal. Zudem kann man noch on Top setzen, dass man den eigenen gehosteten Server nur per VPN-Verbindung erreichen kann.

Vielseitige Einsatzmöglichkeiten

RustDesk ermöglicht den Einsatz auf allen gängigen Betriebssystemen wie Windows, macOS, Linux (Ubuntu, Debian, SuSE, etc.), iOS, Android und sogar per Webbrowser. Eine Installation ist genauso möglich wie der portable Betrieb.

Trotz Open Source gibt es auch bei RustDesk ein Preismodell für selbst gehostete Systeme, welche erweiterte Features ermöglichen, wie z.B. LDAP-Integration, Single Sign-On, Audit Log usw. Bisher bin ich aber mit dem „Free self-hosting plan“ immer sehr gut klar gekommen.

RustDesk Server OSS

Es hat sich bei den Tests herausgestellt, dass die öffentlichen Relay- und ID-Server von Rustdesk einen guten Einstieg bieten, aber immer wieder mit Verbindungsproblemen zu kämpfen haben. Es ist mir schon durchaus vorgekommen, dass genau in dem Moment, in dem man eine Fernwartung starten will, die Verbindung ins Stocken gerät oder ständig abbricht. Auf die Schnelle hatte ich hier auf den Microsoft Quick Assist gewechselt, was aber eher ein „Notnagel“ war und situationsbedingt die beste Alternative. Darüber hinaus muss man den öffentlichen Servern sein Vertrauen entgegenbringen, was das Thema des Datenschutzes und der Datensicherheit angeht.

Daher ist die Möglichkeit, einen eigenen ID-Server zu hosten, durchaus attraktiv. Anbei beschreibe ich meine Installation auf einem Raspberry Pi mit dem aktuellen Raspbian OS, basierend auf Debian 11. Als weitere Betriebssysteme eignen sich sowohl Ubuntu, CentOS, Windows oder sogar Docker-Container (z.B. auf einem Synology NAS).

Für die Datenkommunikation sind folgende Ports notwendig, die beim Hosten bzw. der Firewall freigeschaltet werden müssen.

  • TCP 21115 bis 21119
  • UDP 21116
  • TCP 8000 (nur nötig wenn man die automatisch generierten Installationsscripte veröffentlichen will)

Für die Installation sollte das Tool „sudo“ auf eurem Betriebssystem installiert sein. Dies ist beim Raspbian OS standardmäßig installiert. Solltet ihr eine andere Distribution verwenden, müsst ihr dies mit folgendem beispielhaften Kommando nachholen.

apt install sudo

Im Anschluss kann man mit folgenden Befehlen den Server installieren.

wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh

Während der Installation wird man gefragt, ob der Server auf die IP-Adresse oder einen Domainnamen hören soll. Je nach Einsatzgebiet des Servers kann hier die entsprechende Option gewählt werden.

1) IP
2) DNS/Domain
Choose your preferred option, IP or DNS/Domain:2
Enter your preferred domain/dns address : abc.def.ghj

Als finalen Schritt kommt die Frage, ob man einen Webserver für die Bereitstellung von automatischen Installations-Skripten installieren möchte. Dieser wird, wie bereits oben erwähnt, auf dem Port TCP 8000 unter Angabe des zuvor eingegebenen Domain-Namens erreichbar sein.

1) Yes
2) No
Please choose if you want to download configs and install HTTP server: 1

Hiermit ist die Installation nun abgeschlossen. Zuletzt werden noch der Benutzername, das Passwort und der generierte private Schlüssel ausgegeben. Bitte notieren und speichern Sie diese drei Elemente, da sie später für den Rustdesk-Client und den Webserver zur Konfiguration benötigt werden. Der Webserver ist nach Abschluss des Skripts unter http://<domainname>:8000 erreichbar.

Tidying up Go HTTP Server Install
Created symlink /etc/systemd/system/multi-user.target.wants/gohttpserver.service → /etc/systemd/system/gohttpserver.service.
Your IP/DNS Address is abc.def.ghj
Your public key is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Install Rustdesk on your machines and change your public key and IP/DNS name to the above
You can access your install scripts for clients by going to 
Username is admin and password is xxxxxxxxxxxxxxxx
Press any key to finish install

RustDesk Client mit eigenen Verbindungsserver

Um nun den eigenen Verbindungsserver nutzen zu können, trägt man einfach in seinen RustDesk Client die Verbindungsdaten unter Einstellungen > Netzwerk ein.

Alternativ kann man die EXE-Datei nach folgenden Schema umbenennen, damit die Daten automatisch beim Start der Software verwendet werden.

rustdesk-host=<hostname, IP oder domain>,key=<publickey>.exe

Fazit

RustDesk ist eine gute Alternative zu TeamViewer oder ähnlichen Remote-Control-Produkten. Trotz Community-Support findet man sich schnell zurecht bzw. sind viele Punkte auch selbsterklärend. Der eigene Verbindungsserver gibt einem ein Stück Unabhängigkeit und Kontrolle zurück, erfordert aber, dass man sich ein Hosting zulegt oder diesen auf einer eigenen Hardware im Heimnetz betreibt.