IT Praxis

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.

  1. Verwendung des öffentlichen Verbindungsservers von RustDesk
  2. 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)

hbbsRustDesk ID/Rendevous Server
hbbrRustDesk 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:

RustDesk Container unter Docker
RustDesk Container unter Docker

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):

RustDesk - Portfreigaben, Beispiel Fritz!Box
Portfreigaben (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.

RustDesk Client – Öffentlicher Server

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:

Serverkonfiguration im RustDesk Client

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

RustDesk Client - Serverkonfiguration und Public Key
Server und Public-Key Konfiguration

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.

RustDesk – Serverinfo im About-Dialog

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.

RustDesk – Erfolgreiche remote Verbindung zu einem anderen Rechner

Ü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.

5 Gedanken zu „Kostenlose Teamviewer Alternative – RustDesk

  • stefan

    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.

    Antwort
  • Stefan

    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.

    Antwort
  • Stefan

    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.

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert