Fernwartung, Fernsteuerung, Dateitransfer, Rustdesk, Teamviewer Alternativen

  • Multi Remote Desktop Manager
    Universal-Clients für unten genannte Protokolle

    - Devolutions - Remote Desktop Manager (Multi Platform), Windows, macOS, Linux, Android, and iOS
      nativ als .deb: /usr/bin/remotedektopmanager
      Usereinstellungen in ~/.local/share/RemoteDesktopManager
      (lokal installieren, Hauptschlüssel anlegen, Sicherheit: Anwendungspasswort+MFA, Daten importieren)
      • RDP, SSH, VNC, VMWare, Hyper-V, Telnet, FTP, Powershell, Anydesk, Teamviewer, Rustdesk, HTTP/S, SNMP..... (Multi Protocol)
      • Datenbank lokal oder Cloud (free) oder Team (kostenpfl.)
      • Tools:Network Scan, WoL
      • Forum

    - Rocket Software - Remote Desktop (Windows), ehem. ASG Remote, kostenpflichtig
      Universal Client für RDP, VNC, SSH based terminals, S/FTP or web-based interfaces

    - Royal Applications
      Universal Client für RDP, VNC, SSH based terminals, S/FTP or web-based interfaces
  • RDP (Remote Desktop)
    - Zugriff nur im LAN oder über vorhandenes VPN
    - Microsoft Netzwerkprotokoll für Fernzugriff (Port 3389/TCP und 3389/UDP)
    - Zwischenablage bidirektional, Dateitransfer, Sound, Remote Drucker, Remote Laufwerke, sehr gute Performance und Skalierbarkeit
    - Windows: Client (mstsc.exe) und Server in allen Windows-Versionen ab NT 4.0 integriert (Home-Versionen: nur RDP-Client)
       RDP-Sitzung übernimmt die physische Konsole (Konsole ist gesperrt, RDP-Sitzung übernimmt, kein gleichzeitiger Betrieb möglich)
    - Linux: Client und Server verfügbar, in vielen Distributionen vorinstalliert (Server: Bildschirmfreigabe, Client: Remmina + remmina-plugin-rdp)
      * FreeRDP /usr/bin/free
      * Linux Mint 21.1: RDP überträgt nur Text, keine Grafik!
    - Clients auch für Android, IOS, ChromeOS u.a.

  • XRDP
    stabiler RDP-Server für Linux (Mint)
    (apt install xrdp, systemctl enable xrdp, ufw allow 3389/tcp)

  • Windows Shadowing (mstsc.exe): https://administrator.de/contentid/500133

    mstsc.exe /l (liefert die Monitor IDs)
    use multimon:i:1
    selectedmonitors:s:ID1,ID2 (gewünschte IDs in die .rdp eintragen)

  • Windows RemoteUnterstützung (msra.exe): https://administrator.de/wissen/einrichtung-fernwartung-bordmitteln-vista-111579.html

  • AppStore: Remotehilfe (Fernunterstützung der laufenden Benutzersitzung im LAN, ohne Admin-Rechte) -> nur mit MS Konto und nicht für ARM!
  • Rustdesk
    - Zugriff im LAN (direkt per IP, DNS oder ID) oder WAN/Internet (Vermittlungsserver per ID)
    - Open Source, Hauptentwickler aus Singapur
    - Bildschirm teilen (Haupt-Konsole), Fernsteuerung, Filetransfer, Audioübertragung, Chat, Sprachanruf
    - Clients für:
      - Windows PC oder Server (Konsole oder RDP-Sitzung) (läuft mit Installation als Nutzer (/%Profile%/AppData/Rustdesk/) oder Admin (/Program Files/Rustdesk/) / als Dienst  / Portable ohne Installation und ohne admin. Privilegien)
      - Linux als Dienst (Debian, Arch, Red Hat, openSuse, Flatpak)
      - Android (nicht im Playstore, Steuerung in beide Richtungen!) (https://rustdesk.com/docs/de/client/android/)
      - IOS (nur Client)
      - WEB (pay) (https://rustdesk.com/web/)
    - originale Auflösung oder skaliert
    - Port: 21118
    - Verbindung herstellen über Einmalpasswort, Permanentpasswort, 2FA (TOTP) und/oder "Zustimmen klicken" der Gegenseite (konfigurierbar)
    - Community Edition: unlimited (unmanaged) devices FREE, No limit of concurrent connections, keine Registrierung/Lizenzierung erforderlich
    - eigener Vermittlungs-Server (Linux oder Windows) oder zwei kostenfreie Public Server (u.a. in DE)
    - im internen Netz direkte Verbindung über IP (unverschlüsselt) möglich (Sicherheit: Direkten IP-Zugriff aktivieren)
    - automatische Erkennung von Rustdesk-PCs im LAN konfigurierbar
    - Ende-zu-Ende verschlüsselt (nicht im LAN)
    - Ports: 21115 bis 21119 tcp und 21118 udp am Vermittlungs-Server freigegeben (Firewall)
    - Android Gerät steuern (in beide Richtungen): Berechtigung: Eingabesteuerung=ON, RustDesk Input verwenden, Verbindungsserver starten
    - Pro/Pay-Version: Adressbuch, verwaltete Sitzung, Websession, QR-Code, AccessControl, LDAP-Integration, 2FA
    - Doku: https://rustdesk.com/docs/de/
    - Client anpassen und portable Verson erstellen
    .
  • Datenübertragung
    Default (öffentl. Rustdesk-Server):
    1a) hbbs Signaling Server im Internet ist Adressbuch und vermittelt die Verbindung
    2a) wenn möglich: wird Verbindung direkt und Ende-zu-Ende verschlüsselt zwischen den Partnern aufgebaut  (Client zeigt das oben links "direkte und verschlüsselte Verbindung" an)
    2b) wenn direkte Verbindung nicht möglich (NAT, Firewall..), wird Verbindung über hbbr Relay Server hergestellt< (Client zeigt das oben links "vermittelte und verschlüsselte Verbindung" an)

    eigener Rustdesk-Server (Cloud oder Self Hosting)
    * optional: PRO -Version mit WEB-Konsole, Adressbuch usw.
    * lokale Installation siehe unten
    Vorteile: Volle Kontrolle, bessere Performance, DSGVO-konform, Adressbuch funktioniert
    Nachteile:
      - es funktionieren nur noch Gegenstellen des eigenen Rustdesk-Servers (logisch und gewollt).
      - eigene Konfiguration muß auf der Gegenstelle konfiguriert werden, lässt ich auch im Client integrieren
      - Verbindung aus eigener Umgebung zu Client mit öffentlichem Rustdesk Server herzustellen: ID mit Suffix @public eingeben, also z.B. 123456789@public.
      - Verbindung aus unkonfiguriertem Client zu eigener Serverstruktur:  "id@<Server-IP>?key=<key>  (geht auch in alternativen Rustdesk-Clients wie Devolutions RDM)

    Probleme:
    Durch das Portforwarding sind am selben DSL-Anschluß nur noch Clients am internen Rustdesk-Server zu finden
    Mit einem Rustdesk-Server am selben DSL-Anschluß geht:
      - aus privatem oder öffentlichem Client (intern) lassen sich keine öffentlichen Clients extern aufrufen (id@public)
      - aus privatem Client an anderem Anschluss lassen sich öffentlichen Clients aufrufen (id@public)
  • Rustdesk Relay Server
    - Signaling und Relay Server gut erklärt https://www.youtube.com/watch?v=ATMPFbH9fNQ
    - Server installieren als Docker oder Debian oder Proxmox LXC
    * hbbs - RustDesk ID (rendezvous / signaling) server, listen on TCP (21114 - for http in Pro, 21115, 21116, 21118 for web socket) and UDP (21116)
    * hbbr - RustDesk relay server, listen on TCP (21117, 21119 for web socket)
    - Firewall:
      ufw allow 2115:2119/TCP
      ufw allow 2116/UDP
      ggf. Port 22 und 8000 für Management
    - Server auf öffentl. IP oder DNS einrichten (ID)
      (alle o.g. Ports müssen per Forwarding aus dem Internet erreichbar sein)
    - Public Key der Instanz: cat /var/lib/rustdesk-server/id_ed25519.pub; echo
    - über GUI (API Admin): Peers verwalten,
      - Adressbücher zentral pflegen (für alle Clients) geht bei mir nur in der PRO-Version

  • Rustdesk Client auf eigenen Verbindungsserver konfigurieren:
      * ID Server= IP/DNS des Relay Server
      * Relay Server wie ID (optional und sinnvoll, wenn Relay Server gewünscht)
      * Key= Public Key (optional, erforderlich für Secure TCP)
      -> sofort verschwindet der Meldungstext unten
    - Client für eigene Instanz vorkonfigurieren: rustdesk.exe kopieren in "rustdesk-host=<server-adresse>,key=<public-key>.exe" (bei mir fehlerhaft)
    - Client Online konfigurieren für alle Plattformen: https://rdgen.crayoneater.org/  (geht)
  • Spice
    - Open Source, eigenes modernes Protokoll  (Spice Client Windows ist von 2018)
    - SSH auth., Remote Access, Video Streaming, USB Redirect, Clibboar Sharing
    - Client: Simple Java Webclient, Client für Windows, Android, Linux, Remmina mit Erweiterung
    - Server: Linux, KVM/Proxmox
    - Clipboard (Grafik+Text, bidirektional) erfordert Client-Installation!
      Linux: (sudo apt install spice-vdagent, sudo systemctl start spice-vdagent, sudo systemctl enable spice-vdagent)
      Windows: spice-guest-tools
      All-OS: Virt-Manager
    - Spice Fenster verlassen: [Strg]-[Alt]-R

  • NoMachine
    - verschiedene Editionen, von Free (Privat) bis Terminalserver und Cloud
    - browserbasierend (nur Enterprise)
    - sehr schnell
    - Desktop Sharing

  • MeshCentral
    - Open Source
    - professionell mit Logging, Rechteverwaltung, 2FA usw.
    - eigener Server (Linux oder Windows) oder Public Server
    - Client für Windows oder Linux

  • WhatsApp Web
    - simpelste Lösung für Dateitransfer auf alle Plattformen, Ende-zu-Ende verschlüsselt
    - erforderlich: Browser + Gerät mit WhatsApp

  • Signal Messenger
    - simpelste Lösung für Dateitransfer auf alle Plattformen, Ende-zu-Ende verschlüsselt
    - erforderlich: Signal Client + Gerät mit Signal

  • Splashtop
    - preisgünstige Teamviewer Alternative

  • Anydesk
    - preisgünstige Teamviewer Alternative mit den selben Vor- und Nachteilen

  • x2go
    - Vollzugriff auf Linux Desktops
    - x2go-Server:
    sudo apt install xubuntu-desktop (nur für X2go-Zugriff, Standarddesktop bleibt unverändert)
      sudo apt install x2goserver
    - X2go Clients für Windows, Linux und McOS  (Sitzungsart: XFCE)
    - reicht USB und Sound per SSH-Tunnel weiter

  • RAdmin
    - leistungsstarke Software für Fernzugriff und Remoteverwaltung unter Windows incl. VPN
    - unbefristete Dauerlizenz, 30 Tage Testlizenz
    - Viewer ist kostenlos, lizenziert wird pro Host
  • VNC (Virtual Networking Computer) - eine der ältesten Lösungen
    - Zugriff nur im LAN oder über vorhandenes VPN
    - plattformübergreifend, direkte Steuerung der Server-Konsole, auch mehrmals gleichzeitig
    - Open Source, viele freie Forks

  • UltraVNC - Open Source, nur für Windows (alle Versionen), TCP Port 5900 (änderbar)
      auch als Dienst, mit Dateitransfer, Verschlüsselung mit PlugIn, Remote-Bildschirm skalieren, Zwischenablage (Text) in beide Richtungen, deutlich langsamer als RealVNC, (Nutzer= root oder leer, Passwort jeweils für Schreibzugriff und Lesezugriff)

  • TigerVNC -> siehe unten

  • TightVNC - free, auch kommerziell. Java-basiert, auch als Dienst, alle Plattformen. kompatibel mit anderer VNC-Software, Text-Zwischenablage
    - ThinVNC (per HTML5/AJAX mit aktuellen Webbrowsern (unverschlüsselt))

  • Real-VNC - Klassiker, guter und freier Viewer, schnell, Server kostenpflichtig, mit Dateitransfer - nur noch Mietlizenz, außer Enterprise nur noch Cloud

  • noVNC
    - einfache Open Source VNC Fernsteuerung
    - keine Zwischenablage, kein Sound
    - Host für Linux, in KVM / Proxmox integriert
    - HTML5-Browser als Client (Default: Port 8006)

  • X11vnc - VNC-Client/Server
    - XServer basierend, nutzt virtuellen Desktop
    - Bestandteil vieler UNIX-Systeme

  • AnyViewer
    - schnelle VNC-Lösung von AOMEI / China
    - kostenlos für privat, preiswert für Business
    - sieht sehr Teamviewer-ähnlich aus
      (keine eigenen Erfahrungen)

TigerVNC

(kostenfrei, auch als Dienst, tut was es soll, langsamer als RealVNC, Zwischenablage, kein Dateitransfer, Verschlüsselung veraltet)

TigerVNC erlaubt Zugriff auf die Linux GUI incl. Gnome und XFCE.
Im Unterschied zu Windows nutzt VNC einen separaten Nutzer und einen separaten Desktop.

  • Default: VNC-Zugriff nur auf Localhost
  • Remote Zugriff über verschlüsselten SSL-Tunnel
    SSH-Tunnel:
    - ssh -L 5901:127.0.0.1:5901 -N -f -l [user] -t [server_ip]
    VNC zu Localhost:
    - VNC Verbindung über den Tunnel auf localhost:1
  • alternativ: VNC auf IP 0.0.0.0 einrichten ($localhost = "no";)
    - Port muß von außen im Portscan sichtbar sein

Installation:

  • Debian 12 Installation
    - User ohne root anlegen
    - SSH-Server aktivieren (immer gut)
  • Cinnamon GUI installieren (Geschmacksache)
    su
    sudo apt install task-cinnamon-desktop
  • sudo apt-get install dbus-x11 tigervnc-standalone-server tigervnc-xorg-extension tigervnc-viewer  - VNC installieren
  • separaten VNC-User einrichten (User kann sich wegen Wechsel der Shell nicht lokal anmelden)
    - sudo adduser vncuser
  • sudo nano /etc/tigervnc/vncserver.users  - VNC-User und Display einrichten  (VNC nutzt per Default Display 1)
    :1=vncusername
  • su vncuser  (in VNC-User Kontext wechseln)
  • vncserver  - Server anstarten, VNC-Passwort festlegen
  • nano ~/.vnc/xstartup  - Startup des VNC-Users anpassen (VNV-GUI ist unabhängig von der Konsole!)
    -- XFC GUI:
    #!/bin/bash
    xrdb $HOME/.Xresources
    startxfce4 &
    -- Cinnamon GUI:  (dieser Nutzte kann sich dann nicht an der Konsole anmelden!)
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    /usr/bin/cinnamon-session
  • Datei ausführbar machen
    sudo chmod u+x ~/.vnc/xstartup
    sudo chmod 777 ~/.vnc/xstartup
  • sudo nano /etc/tigervnc/vncserver-config-defaults - V
    - $depth=24;
      - Farbtiefe
    - $localhost = "no";  falls VNC-zugriff ohne SSH-Tunnel gewünscht
  • Dienst auf Display 1 installieren:
    sudo systemctl start tigervncserver@:1.service
    sudo systemctl enable tigervncserver@:1.service
  • Portscan: Port 5901 muß offen sein
  • VNC Zugang testen

Befehle:

  • sudo apt show tigervnc-standalone-server  - läuft der Server?
  • sudo apt install tigervnc-standalone-server -y  - installiere VNC-Server
  • vncpasswd - setze VNC-Passwort (min. 6 Zeichen)
  • tigervncserver -localhost no -geometry 1920x1080  - startet VNC-Server manuell
  • tigervncserver -xstartup /usr/bin/xterm  - startet VNC-Server manuell
  • vncserver -list  - Zeige laufende Instanzen und Port(s)
  • vncserver -kill :1  - killt die Instanz auf Desktop 1
  • echo $DISPLAY  - zeigt das aktuelle Display

Quellen:

  • Teamviewer
    - Zugriff im LAN oder WAN/Internet
    - Kommerzielle Fernwartung- / Remoteverwaltung Software
    - Zwischenablage bidirektional, Dateitransfer, Sound, sehr gute Performance und Skalierbarkeit
    - Windows Host: direkte Steuerung der Server-Konsole, auch gleichzeitig
    - Linux Host: Steuerung der Shell, keine GUI
    - Zugriff im LAN oder mit integriertem P2P VPN über Router und Firewalls hinweg
    - P2P mit zentralem Vermittlungsserver (Sicherheitsrisiko)
    - Verbindung herstellen über Einmalpasswort, Permanentpasswort, Windows Anmeldung, Teamviewer-Konto (da auch TOTP), Push-Benachrichtigung
    - Client für alle OS, inclusive Android (extra Lizenz)
    - Flagschiff mit entsprechend hohen Preisen, nichtkommerziell frei (nicht für Server-OS, Mobilgeräte)
    - Server (Host) ist lizenzfrei, Client muß lizenziert werden

  • UK: Teamviewer im Firmenumfeld

von Uwe Kernchen

Kommentare

Einen Kommentar schreiben

Was ist die Summe aus 1 und 1?