Einführung

RustDesk ist eine kostenlose, Open-Source-Fernwartungssoftware, die als selbstgehostete Alternative zu TeamViewer oder AnyDesk dient. Im Gegensatz zu den kommerziellen Lösungen läuft dein eigener RustDesk-Server vollständig unter deiner Kontrolle, ohne Gebühren oder Lizenzbeschränkungen.

Die Vorteile von RustDesk:

  • 100% kostenlos und Open Source
  • Selbstgehostet - volle Kontrolle über deine Daten
  • Keine Nutzungslimits - so viele Verbindungen wie du willst
  • Moderne Verschlüsselung - sicherer Datenverkehr
  • Multi-Plattform - Windows, Linux, macOS, Android, iOS
  • Niedrige Latenz - optimierte Übertragung

Was benötigt wird

Um einen selbstgehosteten RustDesk-Server einzurichten, benötigst du:

  • Einen VPS oder Server mit öffentlicher IP-Adresse
  • Docker und Docker Compose installiert
  • Root- oder sudo-Zugriff
  • Offene Ports: 21115-21119/tcp und 21116/udp

RustDesk-Server mit Docker Compose einrichten

Schritt 1: Projektverzeichnis erstellen

mkdir -p ~/rustdesk-server
cd ~/rustdesk-server

Schritt 2: Docker Compose-Datei erstellen

Erstelle eine docker-compose.yml Datei:

services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs
    volumes:
      - ./data:/root
    network_mode: "host"
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped

Wichtige Parameter:

  • hbbs ist der Relay-Server (ID-Server)
  • hbbr ist der Relay-Server (Rendezvous-Server)
  • network_mode: "host" - Verwendet das Host-Netzwerk für beste Performance und das Erkennen der korrekten IPs
  • ./data - Hier werden die Schlüssel gespeichert

Schritt 3: Server starten

docker compose up -d

Prüfe, ob beide Container laufen:

docker compose ps

Schritt 4: Firewall konfigurieren

Öffne die erforderlichen Ports:

UFW (Ubuntu/Debian):

sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
sudo ufw reload

Firewalld (CentOS/RHEL):

sudo firewall-cmd --permanent --add-port=21115-21119/tcp
sudo firewall-cmd --permanent --add-port=21116/udp
sudo firewall-cmd --reload

Schritt 5: Server-Key kopieren

Nach dem ersten Start wird ein öffentlicher Schlüssel erstellt:

cat data/id_ed25519.pub

Kopiere den vollständigen Inhalt dieser Datei - du benötigst ihn für die Client-Konfiguration.

Schritt 6: Status prüfen

docker compose logs -f

Du solltest beide Services ohne Fehler laufen sehen.

RustDesk-Client konfigurieren

Standard-Client

  1. Lade den RustDesk-Client von rustdesk.com herunter
  2. Öffne die Netzwerk-Einstellungen
  3. Trage folgende Informationen ein:
    • ID-Server: rustdesk.example.com (oder deine IP)
    • Relay: rustdesk.example.com:21117
    • API: (optional)
    • Key: Füge den kompletten Inhalt von id_ed25519.pub ein

Automatische Konfiguration mit Custom Client

Um die Konfiguration zu vereinfachen und sicherzustellen, dass alle Clients automatisch deinen Server verwenden, kannst du einen Custom Client mit rdgen.crayoneater.org erstellen.

Schritt 1: Custom Client Builder aufrufen

Öffne https://rdgen.crayoneater.org in deinem Browser.

Schritt 2: Basis-Konfiguration

Plattform auswählen:

  • Wähle deine Zielplattform (z.B. Windows 64Bit)

General Settings:

  • Name: Einen eindeutigen Namen eingeben (z.B. rustdesk-server)
  • Custom Application Name: Optional einen benutzerdefinierten Namen
  • Connection Type: Bidirectional

Schritt 3: Custom Server konfigurieren

Die wichtigsten Einstellungen für einen selbstgehosteten Server:

Host:

rustdesk.example.com

(oder deine Server-IP)

Key: Füge hier den vollständigen Inhalt von id_ed25519.pub ein:

Veröffentlichter Schlüssel hier...

API: (Optional)

http://rustdesk.example.com:21114

Schritt 4: Sicherheit konfigurieren

Password Approve mode:

  • Accept sessions via password - Standardeinstellung
  • Accept sessions via both - Für flexiblere Nutzung

Permanent Password: (Empfohlen)

  • Setze ein Standard-Passwort
  • Kann später vom Client geändert werden

Zusätzliche Sicherheitsoptionen:

  • Deny LAN discovery - Verhindert lokale Netzwerk-Suche
  • Enable direct IP access - Ermöglicht direkte IP-Verbindungen
  • Automatically close incoming sessions on user inactivity - Sicherheitsfeature

Schritt 5: Visuelle Anpassungen (Optional)

  • Custom App Icon - Eigenes Icon hochladen (.png Format)
  • Custom App Logo - Eigenes Logo hochladen
  • Theme: Dark oder Light

Schritt 6: Berechtigungen

Definiere die Standard-Permissions für den Client:

Empfohlene Standard-Berechtigungen:

  • Enable keyboard/mouse ✓
  • Enable clipboard ✓
  • Enable file transfer ✓
  • Enable audio (Optional)
  • Enable TCP tunneling ✓
  • Enable remote restart ✓

Schritt 7: Client generieren

Klicke auf “Generate Custom Client” und lade die generierte Datei herunter.

Installation des Custom Clients

  1. Verteile die generierte Installationsdatei an deine Nutzer
  2. Installiere den Custom Client wie eine normale Anwendung
  3. Der Client ist bereits vorkonfiguriert und verbindet automatisch mit deinem Server
  4. Nutzer müssen nur ihre ID und das Permanent Password eingeben

Wartung und Updates

Container updaten

cd ~/rustdesk-server
docker compose pull
docker compose up -d

Logs anzeigen

docker compose logs -f hbbs
docker compose logs -f hbbr

Server neustarten

docker compose restart

Troubleshooting

Verbindung schlägt fehl

  1. Prüfe, ob die Firewall-Ports geöffnet sind
  2. Stelle sicher, dass der Key korrekt eingefügt wurde
  3. Prüfe die Logs: docker compose logs

Hohe Latenz

  1. Verwende network_mode: "host" für beste Performance
  2. Stelle sicher, dass Server und Client gute Internetverbindungen haben

Container starten nicht

docker compose down
docker compose up -d

Fazit

RustDesk ist eine hervorragende selbstgehostete Alternative zu kommerziellen Fernwartungslösungen wie TeamViewer. Mit Docker Compose ist die Einrichtung innerhalb weniger Minuten erledigt, und durch den Custom Client Builder wird die Verteilung und Konfiguration für Endnutzer zum Kinderspiel.

Die Kombination aus selbstgehostetem Server und Custom Client bietet maximale Kontrolle über deine Remote-Zugriffe, ohne dabei auf moderne Features zu verzichten.