So funktioniert der RustDesk-Server#
Der Server besteht aus zwei Teilen:
- hbbs ist der ID-Server. Er vermittelt, welcher Rechner unter welcher ID erreichbar ist.
- hbbr ist der Relay-Server. Er leitet die Verbindung weiter, wenn sich zwei Rechner nicht direkt erreichen können.
Auf deinen Rechnern läuft der normale RustDesk-Client, den du nur auf deinen Server einstellst.
Docker installieren#
System aktualisieren#
apt update && apt upgrade -y && apt install ca-certificates curl -yDocker-Paketquelle einrichten#
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.listDocker und Docker Compose installieren#
apt update && apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -yDockge installieren#
Dockge einrichten#
Dockge ist eine Weboberfläche, mit der du Docker-Compose-Stacks bequem im Browser verwaltest. Dieser Befehl legt die Verzeichnisse an und startet Dockge:
mkdir -p /opt/stacks /opt/dockge && cd /opt/dockge && curl -fsSL https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -o compose.yaml && docker compose up -dDockge öffnen#
Öffne Dockge im Browser und lege direkt dein Admin-Konto an:
http://IP-deines-Servers:5001RustDesk-Server einrichten#
Stack anlegen#
Klicke in Dockge auf + Compose und gib unter „Allgemein“ den Stack-Namen rustdesk ein.
compose.yaml einfügen#
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: hbbs
command: hbbs
restart: unless-stopped
network_mode: host
volumes:
- ./data:/root
depends_on:
- hbbr
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: hbbr
command: hbbr
restart: unless-stopped
network_mode: host
volumes:
- ./data:/rootMit network_mode: host nutzen die Container direkt die Netzwerkschnittstelle des Servers. Das ist bei RustDesk so empfohlen, damit die Verbindungen zuverlässig klappen.
Stack starten#
Klicke auf Speichern und dann auf Deploy.
Ports freigeben#
Damit deine Clients den Server erreichen, müssen diese Ports in der Firewall offen sein:
| Port | Protokoll | Wofür |
|---|---|---|
| 21115 | TCP | NAT-Test |
| 21116 | TCP und UDP | ID-Server und Verbindungsaufbau |
| 21117 | TCP | Relay |
Mit UFW geht das so:
ufw allow 21115:21117/tcp
ufw allow 21116/udpÖffentlichen Schlüssel auslesen#
Beim ersten Start erzeugt der Server ein Schlüsselpaar. Den öffentlichen Schlüssel brauchst du gleich für die Clients:
cat /opt/stacks/rustdesk/data/id_ed25519.pubid_ed25519 ohne Endung ist der private Schlüssel. Den gibst du nie weiter und sicherst ihn gut. Geht er verloren, musst du alle Clients mit einem neuen Schlüssel einrichten.Clients mit deinem Server verbinden#
Installiere RustDesk auf jedem Rechner, den du fernwarten oder von dem aus du zugreifen willst. Dann öffnest du im Client die Einstellungen → Netzwerk → ID/Relay-Server und trägst ein:
- ID-Server: die IP-Adresse oder Domain deines Servers
- Relay-Server: dieselbe Adresse
- Key: der Inhalt der Datei
id_ed25519.pub
Das Feld API-Server bleibt leer. Nach dem Speichern zeigt der Client unten an, dass er bereit ist, und alle Verbindungen laufen über deinen eigenen Server.
RustDesk-Server aktualisieren#
cd /opt/stacks/rustdesk && docker compose pull && docker compose up -d
