Eigener OpenSource Fernwartungsserver mit RustDesk als Alternative zu Teamviewer und AnyDesk

Sie alle kennen Fernwartungssoftware wie beispielsweise TeamViewer und AnyDesk. Diese Programme sind wunderbar, um schnell auf einen entfernten Rechner zugreifen zu können, z.B. wenn Kunden, Bekannte, Freunde oder Familie Probleme an ihrem Rechner haben. Solange der Rechner läuft, ist das auch problemlos möglich.

Allerdings:

  • Die Server und damit auch die Daten liegen in den Rechenzentren des Anbieters.
  • Die Software ist meist nur für den Privatgebrauch kostenlos. Sobald man auf einen Server zugreifen möchte bitten die Hersteller zur Kasse.

Zur Lösung dieser Nachteile gibt es seit nicht allzu langer Zeit eine neue Fernwartungslösung, die genau hier ansetzt und es besser machen möchte: RustDesk (Homepage)

RustDesk ist:

  • kostenlos, sowohl für private als auch gewerbliche Nutzung
  • Open Source, d.h. jeder kann Code einsehen und auch mitwirken
  • lokal installierbar, d.h es kann also ein eigener Fernwartungsserver installiert werden. Damit wissen Sie immer, wo die Daten abgespeichert werden.

Sie benötigen lediglich eine ausreichende Bandbreite, d.h pro Verbindung bis zu ca. 3 MBit/s (ein- & ausgehend).

In diesem Blog-Beitrag möchte ich auf die Installation und Nutzung dieser Software eingehen.

Inhaltsverzeichnis

Voraussetzungen

Die Installation gestaltet sich denkbar einfach. Sie benötigen lediglich einen Server, auf welchem Docker installiert werden kann. Dies kann entweder ein Linux- oder Windows-Host sein. Es funktioniert aber auch mit NAS-Systemen, sofern diese Docker unterstützen.
In diesem Beispiel werde ich die Installation unter Ubuntu mittels Docker-Compose durchführen. Sie können diese ganz einfach selbst durchführen.

Für dieses Tutorial benötigt man nur 3 Dinge, um mit RustDesk starten zu können:

  • einen fertig installierten Server mit Ubuntu 22.04
  • eine extern erreichbare IPv4 Adresse
  • einen extern erreichbaren DNS-Eintrag. Dies kann entweder eine richtige Adresse sein wie z.B. fernwartung.admin-intelligence.de oder auch ein DynDNS Name

Installation

Führen Sie zu Beginn folgende Befehle aus, um die benötigten Pakete zu installieren:

sudo apt update; apt -y upgrade
sudo apt install docker.io docker-compose

Nachdem dies durchgeführt wurde, erstellen Sie einen eigenen Ordner für die Daten inkl. der Docker-Konfiguration:

mkdir /rustdesk
cd /rustdesk
nano docker-compose.yaml

Fügen Sie nun folgende Konfiguration in die Datei ein, passen Sie den Punkt <Ihre Domain hier> an und speichern Sie die Datei ab:

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 y <Ihre Domain hier>:21117 -k _
    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 -k _
    volumes:
      - ./hbbr:/root
    networks:
      - rustdesk-net
    restart: unless-stopped

Nun müssen Sie den Container lediglich noch starten. Dies erreichen Sie mit folgendem Befehl:

sudo docker-compose up -d

Hierbei werden die benötigten Pakete heruntergeladen und der Server gestartet.

Glückwunsch! Sie haben nun erfolgreich einen Server mit RustDesk installiert.

Client-Installation

Der Client lässt sich ebenso einfach wie den Server installieren.
Wechseln Sie dazu auf die Seite von RustDesk und laden Sie sich den aktuellen Client für Ihr System herunter: rustdesk.com

Nach der Installation sollten Sie nun ein ähnliches Fenster wie dieses hier sehen:

In der linken Spalte sehen Sie die Informationen, wie Sie auf den Rechner zugreifen können.
Oben in der Mitte können Sie die ID eines Gerätes eingeben, auf das Sie zugreifen möchten.
In der Mitte sehen Sie im Standard die letzten Sitzungen und können hier zwischen diesen wechseln.
Ganz unten sehen Sie, ob der Client bereit für eine Verbindung ist, sowie einen Hinweis.

Client Einrichtung

Sie könnten nun die erste Verbindung starten. Allerdings wollen wir unseren zuvor installierten Server anbinden und die Verbindungen darüber starten.

Dazu klicken Sie im ID-Feld auf die drei Punkte und wählen den Punkt ID/Verbindungsserver aus:

Im folgenden Fenster füllen Sie die beiden markierten Felder aus. Unter ID Server tragen Sie die Domain-Adresse ein, die Sie weiter oben definiert haben.
Unter Key landet der öffentliche Schlüssel, der bei der Installation generiert wurde. Sie finden diesen Schlüssel auf dem Server und können diesen mit dem folgenden Befehl anzeigen lassen:
cat /rustdesk/hbbs/id_ed25519.pub;echo
Kopieren Sie die angezeigte Zeile und fügen Sie diese auf Ihrem Client ein.

Der Key wird benötigt, da wir die Software in einem Modus gestartet haben, der nur verschlüsselte Verbindungen zulässt. Andernfalls wäre es möglich, dass jeder im Internet den Fernwartungsserver nutzen könnte. Dies wird hiermit unterbunden.
Der Key wird nur auf dem Gerät benötigt, von dem aus die Fernwartung gestartet wird. Das Zielgerät benötigt diesen Key nicht.

Hinweis: Die Software befindet sich aktuell noch in der Entwicklung und einige Features wie das Adressbuch sind noch nicht funktionsfähig. Die reine Fernwartung an sich funktioniert aber problemlos.

Nun ist der Server und der Client fertig eingerichtet und Sie können mit den Fernwartungen beginnen.

Damit dies über Ihren Server läuft, müssen aktuell alle Zielsysteme den ID-Server in der Konfiguration hinterlegen.

Für Windows gibt es die Möglichkeit, eine fertige Datei zu generieren, die sich direkt mit Ihrem Server verbindet. Dazu passen Sie den Dateinamen von RustDesk wie folgt an:

rustdesk-host=<Ihr Domain Name>;key=<öffentlicher Schlüssel>.exe

Diese Datei können Sie so bereitstellen und nach einem Klick darauf läuft die Verbindung direkt über Ihren RustDesk Fernwartungsserver.

Haben Sie Fragen dazu? Kontaktieren Sie uns gerne, wir helfen Ihnen.

Sascha Jelinek