class: center, middle ![img33r](desktop1.webp) # RustDesk ### Eine OpenSource-Alternative zu TeamViewer ### Hauke Goos-Habermann #### https://weisheit.goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Gibt Support via RustDesk :-) --- ### RustDesk? ![img33r](desktop2.webp) **
RustDesk
** ist eine **plattformübergreifende** **Fernadministrationssoftware**. * **Client-Plattformen**: Windows, macOS, **Linux**, iOS, Android und Web (nur Pro) * **Distributionen**: Debian, Ubuntu, SuSE, Red Hat, CentOS, usw. * **Architekturen (*vorkompiliert*)**: x86 32- und 64-Bit, ARM64 und ARMv7 (32-Bit) * **Paket-Formate**: Docker, RPM, DEB, AppImage oder Flatpak * **XOrg** und **Wayland** * **P2P**-Verbindung mit **Ende-zu-Ende-Verschlüsselung** auf Basis von **
NaCl
** --- ### RustDesk-Server? ![img33r](desktop3.webp) Der RustDesk-Server kann auf **eigenen Systemen installiert** werden und ist die **Vermittlungszentrale**, damit sich die Clients über das Internet finden. * **Server-Plattformen**: **Linux**, Windows * **Distributionen**: Debian, Ubuntu, SuSE, Red Hat, CentOS, usw. * **Architekturen (*vorkompiliert*)**: x86 32- und 64-Bit, ARM64 und ARMv7 (32-Bit) * **Paket-Formate**: RPM, DEB oder ZIP --- ### Server-Installation ![img33r](desktop4.webp) Mehr Informationen zum **Installieren** gibt es unter https://rustdesk.com/docs/de/self-host, **grundlegend** funktioniert es aber auch mit ein paar Zeilen: ```bash # Ggf. Ports in ufw öffnen: # 21115-21117: Signal-/Relay-Ports & NAT-Traversal # 21118-21119: RustDesk-Webclient ufw allow 21115:21119/tcp ufw allow 21116/udp # sudo wird benötigt apt install -y sudo # Skript herunterladen wget https://github.com/techahold/rustdeskinstall/\ raw/master/install.sh -O rustdesk-install.sh # Ausführbar machen und starten chmod +x rustdesk-install.sh ./rustdesk-install.sh ``` --- ### Installation mit commonInstall ![img33r](desktop5.webp) ***commonInstall*** ist eine von mir entwickelte **Skript-Bibliothek**, die viele **Installations-** und **Konfiguration**saufgaben **automatisiert**. ```bash # Skriptbibliothek laden wget https://goos-habermann.de/commonInstall.inc . commonInstall.inc # Funktion zum Installieren starten CI_installRustdeskServer ``` **ACHTUNG:** Die Verwendung geschieht auf **eigenes Risiko** und und kann zu komplettem **Datenverlust** und/oder **nicht** mehr **nutzbarem/bootfähigen Servern** führen. --- ### Server-Konfiguration ![img33r](desktop8.webp) ***rustdesk-install.sh*** stellt ein paar Fragen: ```bash 1) IP 2) DNS/Domain Choose your preferred option, IP or DNS/Domain: 1) Yes 2) No Please choose if you want to download configs and install HTTP server: Your IP/DNS Address is aaa.bbb.ccc.ddd Your public key is abcdefghijklmnopq= Install Rustdesk on your machines and change your public key and IP/DNS name to the above You can access your install scripts for clients by going to http://aaa.bbb.ccc.ddd:8000 Username is admin and password is 1234567890 ``` Insbesondere das **Paßwort** solltet Ihr Euch **merken** ;-) --- ### Weboberfläche ![img33r](desktop9.webp) Auf **Port 8000** läuft ein **Webserver**, über den Ihr für Euren Server **angepaßte Skripte** zur **Installation** von **RustDesk-Clients** herunterladen könnt. Da der Webserver nur **unverschlüsselt** kommuniziert, empfiehlt sich das Blocken des Ports per **Firewall** und ein **SSH-Tunnel** für den Zugriff: ```bash ssh -L 8000:localhost:8000 XYZ@aaa.bbb.ccc.ddd ``` Im **Browser** nun **http://localhost:8000** öffnen mit **Benutzername=*admin*** und **Paßwort=*wie zuvor generiert***. ![img50l](rustdesk-webserver.png) --- ### Alternative Methode zum Skripte holen ![img33r](desktop10.webp) Die Skripte sind unter ***/opt/gohttp/public*** gespeichert. --- ### Client installieren ![img33r](desktop1.webp) Den **RustDesk-Client** könnt Ihr **über** die **Skripte installieren**, die je nach Distribution das **passende Paket** herunterladen und **installieren**. Zudem wird der **RustDesk-Client konfiguriert**, damit er sich **mit Eurem Server verbindet**. Den RustDesk-Client benötigen sowohl der **Helfer** als auch der **Geholfene**. **Alternativ** könnt Ihr auch den **Key** aus der ***/opt/rustdesk/id_ed25519.pub*** auslesen und den Client **manuell**
herunterladen
, installieren und direkt in der Oberfläche konfigurieren: ⁝ ⇒ Einstellungen ⇒ Netzwerk * ID-Server: IP oder FQDN des Servers * Relay-Server: IP oder FQDN des Servers * Key: Inhalt von id_ed25519.pub --- ### Server-Aktualisierung ![img33r](desktop6.webp) Die Aktualisierung geschieht über weiteres **Skript**, welches letztendlich eine **ZIP-Datei** mit der aktuellen Software **herunterlädt** und **entpackt**. Vor dem Entpacken werden die RustDesk-Dienste gestoppt und anschließend neu gestartet. ```bash if [ ! -f /opt/rustdesk/rustdesk-update.sh ] then wget https://github.com/techahold/rustdeskinstall/raw/\ master/update.sh -O /opt/rustdesk/rustdesk-update.sh chmod +x /opt/rustdesk/rustdesk-update.sh fi /opt/rustdesk/rustdesk-update.sh ``` Ein bereits heruntergeladenes ***rustdesk-update.sh*** – welches Ihr natürlich überprüft habt – wird bei erneutem Aufruf wiederverwendet. Sollte das Skript zu alt werden, so müßt Ihr es per Hand löschen und das neu heruntergeladene **erneut prüfen**. --- ### Aktualisierung mit commonInstall ![img33r](desktop7.webp) ***CI_updateRustdeskServer*** aktualisiert rustdesk-update.sh nicht und verwendet es, bis Ihr es selbst löscht. ```bash # Skriptbibliothek laden wget https://goos-habermann.de/commonInstall.inc . commonInstall.inc # Funktion zum Aktualisieren starten CI_updateRustdeskServer ``` **ACHTUNG:** Die Verwendung geschieht auf **eigenes Risiko** und und kann zu komplettem **Datenverlust** und/oder **nicht** mehr **nutzbarem/bootfähigen Servern** führen. --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de