[TUT] RustDesk - Eigener Server für Fernwartung & Support

  • Alle Bilder in diesem Tutorial stammen aus meiner eigenen Testumgebung. Die Schritte der nachfolgend beschriebenen Installationsanleitung wurden eigenständig geschrieben. Ausschnitte meines Codes in der Datei "rustdesk.yml" entspringen der offiziellen Webseite rustdesk.com/docs/en/self-host/rustdesk-server-oss/docker sowie dem Video youtube.com/watch?v=r8sf22_PkYk von Navigio.
    Yes

    Liebe Forengemeinde,

    in diesem Tutorial stelle ich Euch eine Anleitung zur Verfügung, mit welcher Ihr den Fernwartungsserver Rustdesk installieren und betreiben könnt. Hierbei handelt es sich um eine Open-Source Software für Fernzugriff und Support, wie man es z.B. aus TeamViewer oder AnyDesk kennt.

    Voraussetzung für dieses Tutorial ist die Erreichbarkeit eures Routers von Extern über eine statische IP-Adresse, DynDNS, MyFRITZ oder andere Dienste. Außerdem wird eine eigene Domain/Subdomain sowie das Docker Container Management Tool Portainer benötigt.

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    Vorbereitung - Ermitteln von PUID und PGID:

    1. Consolenfenster öffnen und per ssh auf Euer NAS verbinden (SHH muss natürlich aktiviert sein)
    2. Als Admin anmelden
    3. Folgende Befehle ausführen:

    • id -u (gibt die PUID zurück, im Beispiel 1000)
    • id -g (gibt die PGID zurück, im Beispiel 10)

    4. PUID und PGID notieren, diese Werte brauchen wir gleich


    Installationsanleitung:

    1. Dateimanager öffnen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    2. In den Ordner „docker“ wechseln und erstellen des Ordners „rustdesk“

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    3. Unter „rustdesk“ die zwei Unterordner „rusthbbs“ und „rusthbbr“ erstellen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    4. Dateimanager schließen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    5. Die Datei "rustdesk.yml" herunterladen und im Texteditor Eurer Wahl öffnen
    6. Unter „environment“ jeweils die Werte für "PUID", "PGID" anpassen
    7. Unter „hbbs - command“ den Domainnamen an eure eigene Domain anpassen
    8. Unter "volumes" jeweils die Volume-Pfade an Eure Ordnerstruktur anpassen
    9. Portainer öffnen und anmelden
    10. Im rechten Bereich auf den Button [Live connect] klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    11. Im linken Menü "Stacks" anklicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    12. Rechts oben auf den Button [+ Add Stack] klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    13. Im Feld "Name" "rustdesk" (oder den Namen Eurer Wahl) eintragen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    14. Den Inhalt in der Datei "rustdesk.yml" kopieren und im „Web editor“ einfügen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    15. Unter "Actions" auf "Deploy the stack" klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    Konfiguration des Routers - Benötigte Portfreigaben einrichten
    Die nachfolgenden Konfigurationsschritte beschreiben die Einrichtung auf einer FritzBox, diese können sich auf anderen Router-Modellen unterscheiden.

    1. Im Browser das Webinterface der FritzBox aufrufen und anmelden
    2. Folgende Reihenfolge durchklicken: [Freigaben] > [Portfreigaben] > [Gerät für Freigaben hinzufügen]

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    3. Im Dropdown-Menü euer NAS auswählen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    4. Auf den Button [Neue Freigabe] klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    5. Den Radiobutton [Portfreigabe] aktivieren, anschließend im Dropdown-Menü „Andere Anwendung“ auswählen und alle Felder laut Darstellung ausfüllen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    6. Anschließend erneut auf den Button [Neue Freigabe] klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    7. Den Radiobutton [Portfreigabe] aktivieren, anschließend im Dropdown-Menü „Andere Anwendung“ auswählen und alle Felder laut Darstellung ausfüllen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    8. Anschließend sollten die Portfreigaben in dieser Form ersichtlich sein

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.



    Herunterladen und konfigurieren des Rustdesk Clients
    Der passende Client kann für alle Plattformen unter dem Link Release 1.3.7 · rustdesk/rustdesk · GitHub heruntergeladen werden.

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.



    Konfiguration der Clients

    1. Um verschlüsselte Server/Client Verbindungen zu ermöglichen, wird nun ein Key benötigt, welcher im Zuge der Installation erzeugt wurde,
    hierzu rufen wir das Webinterface unseres NAS auf und wechseln im Dateimanager in den folgenden Ordner: Freigegebener Ordner > docker > rustdesk > rusthbbs

    2. Anschließend die Datei mit der Endung *.pub (in meinem Fall id_ed25519.pub) herunterladen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    3. Diese Datei nun mit einem Texteditor öffnen und den Schlüssel kopieren

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    4. RustDesk auf eurem PC öffnen und auf das 3-Punkte-Menü klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    5. Anschließend auf "Netzwerk" und danach auf den Button [Netzwerkeinstellungen entsperren] klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    6. Nun auf den Button [ID/Relay-Server] klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    6. Die Felder "ID-Server" ausfüllen sowie den "Key" aus der Zwischenablage einfügen, anschließend auf den Button [OK] klicken

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    7. Der Menü-Tab "Einstellungen" kann jetzt mit einem Klick auf den Button [X] geschlossen werden

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    8. Anschließend sollte in der Fußzeile der Startseite der Status "Bereit" stehen, die Verbindung zu eurem Relay-Server war also erfolgreich

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    Die Schritte 4 bis 5 müssten nun eigentlich auf jedem Client manuell konfiguriert werden, es gibt jedoch einen Workaround, wie man diese Angaben im Zuge des Client Setups gleich mitgeben kann. Der hierfür durchzuführende Workaround wird im nachfolgenden Abschnitt beschrieben.

    Integration der Domain und des Keys in das Client-Setup
    Hinweis: Die nachfolgend beschriebene Vorgehensweise funktioniert meines Wissens nach nur auf der Windows-Plattform.

    Die benötigte Syntax zur Integration der Domain und des Keys lautet wie folgt: host=rustdesk.hostname.de,key=APIKEY.exe

    Demnach muss, auf Basis dieser Anleitung, der Originalname der Setupdatei wie folgt geändert werden:
    rustdesk-1.3.7-x86_64.exe >>> host=rustdesk.deinedonain.de,key=rTnzt09Fjl4JTSGTHTHJ6FerRJ9k6zrgMOder24xzpU=.exe

    Fehlerbehandlung:
    Es kann vorkommen, dass der generierte Key in der oben beschriebenen Datei *.pub Zeichen enthält, welche in einem Windows-Dateinamen nicht vorkommen dürfen. In diesem Fall müssen im Verzeichnis Freigegebener Ordner > docker > rustdesk > rushbbs folgende zwei Dateien (die Benamung nach "id_" kann bei eurer Installation abweichen) gelöscht und das Installations-Script anschließend erneut ausgeführt werden.

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    Diese zwei Dateien werden beim ausführen des Stacks immer wieder neu erzeugt, falls diese nicht in diesem Verzeichnis vorhanden sind. Dieser Vorgang muss so lange wiederholt werden, bis ein Key entsteht, welcher mit den Anforderungen von Windows konform ist.

    Wenn alles geklappt hat bist du einsatzbereit und kannst über deinen eigenen Relay-Server nun verschlüsselte Fernwartungs-Sessions durchführen. Ob deine Verbindung verschlüsselt ist, erkennst du in einer Remotesitzung links oben am grünen Wappen.

    Weiterführende Informationen findet Ihr im Manuscript RustDesk Documentation.

    Willi
    May 24, 2025 at 2:57 PM


    Viel Spaß beim nachbasteln und ausprobieren!

  • Hallo, erstmal Danke für das Ausführliche Tutorial.

    Mein Problem ist folgendes. Der generierte Key hat immer ein = Zeichen drin, was ja nicht in eine Windows-Dateinamen vorkommen darf.

    Ich habe nun bestimmt schon über 20 mal das Installations Script laufen lassen. Aber immer wieder taucht das = Zeichen drin auf.

    Nachtrag das = Zeichen ist immer an letzter Stelle.

  • Das ist bei mir auch, aber ich hatte noch nie wegen dem Dateinamen in Windows Probleme. Mir wäre auch nicht bekannt, dass ein = Zeichen verboten ist.

  • Läuft das auch mit Routing über nginx? Wenn ja, wie muss man die YML Datei ändern und wie wäre die nginx-Konfiguration (insbesondere wegen der Ports)?

    Dem hbbr und hbbs jeweils eine eigene IP-Adresse zuzuweisen, habe ich ja noch geschafft (mittels MacVlan). Damit wäre ja schon mal eine direkte Portzuweisung über den Router möglich, der an der Haupdomain hängt (z.B. beispiel.de).
    Ich hätte aber gerne, dass rustdesk über eine Subdomain (z.B. rustdesk.beispiel.de) erreichbar ist. Die Subdomain wird über nginx bereitgestellt. Allerdings werden von nginx nur die Ports 80 und 443 weitergeleitet. Kann ich über die Weboberfläche einstellen, dass noch weitere Ports weitergeleitet werden?

    Ist so ein Vorgehen nginx->rustdesk überhaupt sinnvoll?

  • Klonk

    In diesem Tut verwenden wir KEIN MacVlan und KEIN Nginx, oder liest du das irgendwo? Es reicht hier, wenn deine Subdomain auf deinen Router mit eingerichteten Portfreigaben zeigt.

    Folge einfach der Anleitung 😉

    VG Willi

  • Probiere auch gerade eine Lösung zu finden, um über Windows 11 Pro (verschiedene PCs) Rechner auf eine einzelne Linux VM zu kommen. Der eigentliche von Windows RDP Remote Desktopverbindung ist eigentlich perfekt - nur leider viel zu langsam :( Der gibt aber die richtig Bildschirmauflösung von der VM wieder. Rustdesk und VNC leider nicht. Jemand ein Tipp?` Habe Rustdesk Server installiert und scheint auch zu laufen, auch ohne Portweiterleitung. Muss ich überhaupt ein DDNS und auch einen Rustdesk Server haben, wenn es nur intern genutzt werden soll? Finde dort noch keinen Vorteil.

  • RDP geht leider von Windows auf Linux sehr langsam... daher war Rustdesk angedacht... geht ja auch, nur nicht voller Auflösung

    Also bei mir ist das eigentlich sehr flott, aber wahrscheinlich haben wir unterschiedliche Auffassung von langsam🙈 RDP von Windows 11 auf Ubuntu VM auf meiner 6800pro

    Mein Setup

    DXP6800 PRO - 4 X 8 TB Seagate Ironwolf 7200 U/min (Raid 6) - 2 x 2 TB Samsung 990 Pro (Raid 1) - Corsair Vengeance 64 GB DDR5-4800 (CMSX64GX5M2A4800C40) - Eaton Ellipse Pro 650VA /// DXP2800 2 x 8 TB - 1 x 1 TB Samsung 990 Pro - 8 GB RAM (Standard)

  • nutze den virtio treiber der ugreen und trotzdem kann ich bei rustdesk nicht die auflösung im client anpassen (also auf der vm in der rustdesk toolbar - es fehlt der punkt auflösung). sowohl bei einer linux vm als auch bei einer win 11 vm.

    jemand da noch ein tipp? nutze auch die 6800pro nas (vm win 11 mit 24 gb ram und 6 kernen)

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!