Remote-Control-Systeme erlebten während der Corona-Pandemie eine wahre Renaissance und werden auch in Zukunft weiter verstärkt die Arbeit von IT-Administratoren prägen. Mit Remotely schickt sich eine Open-Source-Anwendung an, kommerziellen Produkten wie TeamViewer & Co. Marktanteile abzuknöpfen. Doch ob dies gelingt, ist angesichts einiger Schwachstellen, wie etwa des Abbruchs der Verbindung zum Client, fraglich – trotz vielversprechender Ansätze.
Remotely [1] geht auf Jared Goodwin zurück, der das Remote-Control-System inzwischen zusammen mit Darren Kattan weiterentwickelt. Die Software unterliegt der Open-Source-Lizenz GPL 3.0. Bekannte Remote-Control-Systeme wie AnyDesk, TeamViewer et cetera bieten allesamt eine hervorragende Funktionalität, allerdings kommen in Zeiten von Abomodellen schnell bedeutende Lizenzgebühren zusammen. Die sparen Sie mithilfe von Open-Source-Werkzeugen zumindest partiell ein – allerdings auf Kosten bekannter Einschränkungen wie fehlende Dokumentation und Support-Angebote. Dies gilt auch für Remotely, das sich daher eher für kleinere Unternehmen mit erfahrenen Administratoren eignet.
Remotely im Überblick
Remotely basiert auf ASP.NET und kann auf Windows IIS, Nginx (Ubuntu) oder Caddy Server eingesetzt werden. Das System verfügt über verschiedene Instant-Support-Clients und Agenten für Linux, macOS und Windows. Das Softwarepaket zielt darauf ab, den technischen Support produktiver zu gestalten, erlaubt aber auch typische Remote-Funktionen wie Wartung und Code-Überprüfung.
Über das webbasierte Interface stellen Sie Verbindungen zu beliebigen Endgeräten her. Die Fernwartung vereinfacht sich durch die Filterfunktion, die die Suche nach Gerätenamen, Typ, ID und weiteren Kriterien erlaubt. Dank der integrierten Benutzerverwaltung können Sie administrative Aufgaben auf verschiedene Schultern verteilen.
Remotely [1] geht auf Jared Goodwin zurück, der das Remote-Control-System inzwischen zusammen mit Darren Kattan weiterentwickelt. Die Software unterliegt der Open-Source-Lizenz GPL 3.0. Bekannte Remote-Control-Systeme wie AnyDesk, TeamViewer et cetera bieten allesamt eine hervorragende Funktionalität, allerdings kommen in Zeiten von Abomodellen schnell bedeutende Lizenzgebühren zusammen. Die sparen Sie mithilfe von Open-Source-Werkzeugen zumindest partiell ein – allerdings auf Kosten bekannter Einschränkungen wie fehlende Dokumentation und Support-Angebote. Dies gilt auch für Remotely, das sich daher eher für kleinere Unternehmen mit erfahrenen Administratoren eignet.
Remotely im Überblick
Remotely basiert auf ASP.NET und kann auf Windows IIS, Nginx (Ubuntu) oder Caddy Server eingesetzt werden. Das System verfügt über verschiedene Instant-Support-Clients und Agenten für Linux, macOS und Windows. Das Softwarepaket zielt darauf ab, den technischen Support produktiver zu gestalten, erlaubt aber auch typische Remote-Funktionen wie Wartung und Code-Überprüfung.
Über das webbasierte Interface stellen Sie Verbindungen zu beliebigen Endgeräten her. Die Fernwartung vereinfacht sich durch die Filterfunktion, die die Suche nach Gerätenamen, Typ, ID und weiteren Kriterien erlaubt. Dank der integrierten Benutzerverwaltung können Sie administrative Aufgaben auf verschiedene Schultern verteilen.
Die integrierte Scripting-IDE und das eingebettete Terminal erlauben die Ausführung von zielsystemspezifischen Kommandos. Besonders flexibel präsentiert sich Remotely beim Umgang mit vordefinierten Skripten: Diese verwalten Sie in der Skript-Bibliothek und planen deren Ausführung. Dabei können Sie auch benutzerdefinierte Umgebungsvariablen pro Skript verwenden.
Remotely leistet nicht nur Fernwartung, sondern erlaubt durch die Aktivierung von Video- und Audiofunktionen eine vollwertige Kooperationsumgebung zu betreiben, die beispielsweise Dateiübertragungen und den Zugriff auf die Zwischenablage ermöglicht. Außerdem können Sie Sitzungen aufzeichnen und aufgezeichnete herunterladen. Der Vorteil besteht darin, dass Sie eine lokale Umgebung einrichten, um damit beliebige Remote-Systeme zu verwalten.
Installation in Docker
Die Inbetriebnahme von Remotely gestaltet sich dank des Docker-Containers einfach. Führen Sie einfach folgenden Befehl in Ihrer Docker-Umgebung aus:
Über das Webinterface müssen Sie im ersten Schritt einen administrativen Account anlegen. Dazu folgen Sie dem "Register"-Link und geben die E-Mail-Adresse sowie den Namen und das Passwort an. Anschließend können Sie auf die Remote-Control-Umgebung zugreifen. Über die Navigationsleiste stehen Ihnen die verschiedenen Funktionsbereiche und administrativen Features zur Verfügung.
Agenten für die Clients ausrollen
Damit Remotely ein System aus der Ferne steuern kann, ist clientseitig die Installation eines Remote-Agenten notwendig. Diese stellt der Remotely-Server über das Menü "Downloads" zur Verfügung. Verfügbar sind portable Agenten für 32- und 64-Bit-Windows sowie für 64-Bit-Linux, ebenso Installationspakete für Windows 10 und 11, für Linux- und macOS-Systeme. Die installierten Agenten arbeiten dabei im Hintergrund, erlauben den unbeaufsichtigten Zugriff und ermöglichen Remote-Scripting.
Unter Linux müssen Sie verschiedene Abhängigkeiten prüfen. Insbesondere sind folgende Pakete erforderlich: "libx11-dev", "libxrandr-dev", "libc6-dev", "libgdiplus", "libxtst-dev" und "xclip". Der Linux-Agent erfordert Root-Berechtigung. Für die Ausführung verwenden Sie den Befehl ./Remotely_Desktop.
Nach dem Start des Agenten geben Sie die Server-URL an und stellen mit einem Klick auf "OK" die Client-Server-Verbindung her. Der Agent generiert eine ID, die Sie auf Serverseite im Menü "Remote Control" eingeben. Mit einem Klick auf "Connect" nehmen Sie Verbindung von Seiten des Servers auf, die der Client bestätigen muss. Beachten Sie, dass jede Verbindungsaufnahme eine neue ID generiert. Eine weitere Besonderheit zeigt sich bei den Agenten unter "Viewers". Die Ansicht listet die Benutzer der externen Zugriffe auf und durch das Aktivieren beziehungsweise Deaktivieren des Kontrollkästchens "Has Control" bestimmen die Clients, wem sie Zugriff gewähren wollen.
Unter macOS müssen Sie für das Einspielen des Agenten der Installation unsicherer Quellen zustimmen. Unabhängig von der Zielplattform startet der Agent nach dem erfolgreichen Aufbringen automatisch und Sie können über die Session-ID die Verbindung zum Remotely-Server herstellen. Der Agent erlaubt grundsätzlich die Verwendung verschiedener Remotely-Server. Dazu klicken Sie auf das Zahnradsymbol und geben die URL eines alternativen Remotely-Servers an.
Sowie die Remote-Verbindung von Seiten des Remotely-Servers zu einem Agenten aufgebaut und die Verbindungsaufnahme durch den Agenten verifiziert ist, sind in der Devices-Übersicht der Remote-Client samt Benutzer- und Rechnername, die verwendete Plattform, die Speicherplatzbelegung sowie die RAM- und CPU-Auslastung zu sehen. Über das "Actions"-Menü können Sie neben der Remote-Control-Steuerung einen Chat initiieren oder auch Daten hochladen. Der Device-Dialog verrät Ihnen außerdem die Device-ID, die Agenten-Version, den Zeitpunkt der letzten Verbindungsaufnahme und die öffentliche IP-Adresse. In der Praxis scheitert die Darstellung allerdings hin und wieder. Den Entwicklern ist das Problem bekannt und nach eigenen Angaben in Bearbeitung.
Bild 1: Nach der Agenteninstallation lässt sich für den Remotely-Server die Fernsteuerung initiieren.
Automatisierter Zugriff
Remotely stellt verschiedene Funktionen zur Verfügung, die Ihnen bei der Fernwartung wertvolle Dienste leisten. Mit einem Klick auf "Terminal" in der Devices-Übersicht öffnen Sie die integrierte Terminal-Funktion, die das Ausführen von Terminalbefehlen auf die ausgewählten Devices erlaubt. Den Terminaltyp bestimmen Sie über das zugehörige Auswahlmenü.
Remotely unterstützt PowerShell Core, PowerShell, Bash und CMD. Die beiden PowerShell-Varianten erlauben dabei Tabulatorvervollständigung. Wollen Sie einen Befehl auf mehrere Systeme gleichzeitig anwenden, erfolgt dies chronologisch auf die auf der Home-Übersicht aktivierten Systeme. Diese Funktionen eignen sich hervorragend, um weitere Clientinformationen abzurufen oder den Computerzustand zu verändern.
Oftmals benötigen Sie für das Ausführen spezifischer Befehle weitere Informationen zu den verwendeten Clients. Hierbei helfen die Funktionen des Menüs "Device Details". Um Details eines Remote-Systems abzurufen, geben Sie die Device-ID im Eingabefeld ein. Der Ausgabe können Sie alle von Remotely ermittelbaren Daten entnehmen.
Wie es sich für eine professionelle Remote-Control-Umgebung gehört, erlaubt auch Remotely den Einsatz von Skripten, die Sie im Menü "Scripts" anlegen. Die Handhabung ist denkbar einfach: Auf der Registerkarte "Saved Scripts" bestimmen Sie den Shell-Typ, weisen dem Skript eine aussagekräftige Bezeichnung, einen Speicherort und einen Entwickler zu. Den Skriptcode hinterlegen Sie in dem dafür vorgesehenen Eingabefeld. Sie können außerdem Alert-Optionen und Umgebungsvariablen berücksichtigen. Mit "Save" sichern Sie Ihr Skript, das dann samt Bezeichnung in der entsprechenden Liste erscheint. Zur Ausführung wechseln Sie auf die Registerkarte "Run Script", wählen die Ziel-Gerätegruppe oder -Geräte aus und starten den Vorgang mit "Run".
Remotely erlaubt die zeitlich gesteuerte Skriptausführung. Dazu wechseln Sie auf die Registerkarte "Script Schedules", weisen der Konfiguration eine Bezeichnung und einen Ausführungszeitpunkt zu. Optional ist die Definition eines Wiederholungsintervalls. Außerdem wählen Sie das Skript und die Zielgeräte aus.
Bild 2: Der Linux-Agent von Remotely auf einem EndeavourOS-System – allerdings ist auf Seiten des Remotely-Servers keine Anpassung der Auslösung des Agenten vorgesehen.
Administrative Aufgaben
Seine administrativen Funktionsbereiche bündelt Remotely in der Menüleiste. Hier verwalten Sie Gerätegruppen und Benutzer, passen das Branding des Agenten und die Serverkonfiguration an. Im Untermenü "Organization" können Sie den Unternehmensnamen ändern – dieser ziert die Menüleiste. Unter "Device Group" legen Sie Gerätegruppen an und verwalten diese. So sind Sie beispielsweise in der Lage, die Geräte von Abteilungen zu bündeln und anschließend spezifische Skripte auf diese anzuwenden. Auch die Benutzerverwaltung finden Sie in diesem Menü.
Um der Remotely-Umgebung einen neuen Benutzer hinzuzufügen, müssen Sie diesen per E-Mail einladen. Soll dieser ebenfalls administrative Rechte erhalten, aktivieren Sie das Kontrollkästchen "Admin?". Mit einem Klick auf "Add" bringen Sie die Einladung auf den Weg. Nach der Bestätigung des neuen Nutzers steht diesem Remotely zur Verfügung. Damit sich eine Einladung versenden lässt, müssen Sie in der Serverkonfiguration das Zusammenspiel mit einem SMTP-Server einrichten. Dazu geben Sie neben der SMTP-Server-Adresse samt Port die Credentials an. Mit einem Klick auf die "Test"-Schaltfläche prüfen Sie die Funktionstüchtigkeit der Konfiguration. Ist der neue Benutzer im System, stehen spezifische Anpassungsmöglichkeiten zur Verfügung. Insbesondere ist eine App für die Zweifaktor-Authentifizierung für den Remotely-Zugriff konfigurierbar.
Grundsätzlich sieht das Menü "Branding" die visuelle Anpassung der Remote-Control-Agenten vor, die sich mit dem Remotely-Server verbinden. Dort können Sie beispielsweise das Logo und den Titel, aber auch die verwendeten Farben an Ihre Corporate Identity anpassen. Allerdings funktionierte das nicht bei der Version v2023.05.03.0507, die Anfang Mai 2023 releast wurde.
Läuft etwas nicht rund bei der Fernwartung, liefern die Serverprotokolle Hinweise zur Fehlerbehebung. Das Menü "Server Logs" listet diese und erlaubt über das Auswahlmenü "Type" beispielsweise die gezielte Begrenzung auf Warnungen. Leider verwendet Remotely keine farbigen Kennzeichnungen, um informative von kritischen Hinweisen zu unterscheiden.
Eine Fülle von Anpassungsmöglichkeiten finden Sie im Menü "Server Config". Die zugehörige Seite verrät Ihnen zunächst, wie viele Devices eine Verbindung zum Remotely-Server aufgebaut haben und wie viele User aktuell registriert sind. Um bestimmte Clients von einem Zusammenspiel mit dem Remotely-Server auszuschließen, geben Sie deren Device-ID, deren Rechnername oder deren IP-Adresse unter "Banned Devices" an und bestätigen den Ausschluss mit "Add".
Remotely verwendet standardmäßig eine SQLite-Datenbank, kann aber alternativ auch mit PostgreSQL und dem MS SQL Server zusammenspielen. Das passen Sie im Auswahlmenü "Database Provider" an. Die Verbindungs-Strings geben Sie im unteren Bereich der Serverkonfiguration an.
Bild 3: Die Serveradministration von Remotely bietet vielfältige Anpassungsmöglichkeiten. Insbesondere die SMTP-Server sind einzurichten, um weitere Benutzer einladen zu können.
Manuelle Systemanpassungen
Über das Remotely-Webinterface erledigen Sie wesentliche Anpassungen der Umgebungen. Remotely speichert die Daten standardmäßig in Verzeichnis "/remotely-data/" in zwei Dateien: Die Server-Konfiguration ist in "appsettings.json" hinterlegt, in der Datei "Remotely.db" speichert das System alle ausführungsspezifischen Daten. Wichtig zu wissen: Diese Dateien bleiben bei der Einrichtung von Remotely-Containern erhalten.
Anpassungen der Konfigurationsdatei ergeben beispielsweise dann Sinn, wenn Sie die Zahl der parallelen Remote-Control-Sessions erhöhen wollen, die standardmäßig auf drei begrenzt sind. Dazu passen Sie den Wert der Option ""Remote- ControlSessionLimit": 3" entsprechend an. Ein Beispiel für eine typische Remotely-Konfiguration liefert das Listing auf dieser Seite.
Remotely unterliegt verschiedenen Einschränkungen. Besonders deutlich wird dies beim Einsatz des Agenten. So lassen sich die Bildschirmauflösungen der Remote-Systeme auf der Serverseite beispielsweise nicht anpassen. Auch mangelt es dem Agenten an der Wake-on-LAN-Unterstützung, um dergestalt Geräte remote zu starten. Bislang offerieren die Entwickler auch keine App, die den Remote-Zugriff von einem Mobilgerät aus erlauben würde. Auch die administrativen Funktionen fallen im Vergleich zu alternativen Lösungen weniger leistungsstark und flexibel aus, das gilt beispielsweise für die Benutzerverwaltung. So ist bislang keine Integration in Verzeichnisdienste wie Active Directory oder LDAP möglich. Wenn Sie Remotely zusammen mit einem Reverse-Proxy-Server einsetzen wollen, weisen die Entwickler darauf hin, dass ihre Software bislang lediglich Caddy [2] unterstützt.
Seit 2023 unterliegt Remotely einer weiteren Einschränkung: Die Umgebung wird bis auf unbestimmte Zeit nur in einem Docker-Container ausführbar sein. Die Entwickler begründen dies mit der Vielzahl an Linux-Distributionen und dem hohen Anpassungs- und Bereitstellungsaufwand. Gleichwohl stehen mit jeder neuen Version die Linux-Binaries zum Download bereit, die auf dem meisten Distributionen ausführbar sein sollen.
In der Praxis erschwert ein weiteres Problem die Fernwartung: Remotely zeigt hin und wieder die Tendenz, Agentenverbindungen nach kurzer Zeit zu beenden. Auf Serverseite existiert keine Timeout-Konfiguration und eine Lösung ist nicht in Sicht.
Fazit
Remotely ist eine vielversprechende Remote-Control-Umgebung, die die Fernwartung dank der zentralen webbasierten Administration vereinfacht. Doch im Praxiseinsatz werden verschiedene Einschränkungen deutlich, für die bislang keine Lösungen absehbar sind. Ein weiteres Manko: Direkte Anfragen an die Entwickler blieben unbeantwortet. So bleibt auch offen, was die Marschrichtung von Remotely ist und mit welchen Neuerungen in Zukunft gerechnet werden kann. Für den Produktivitätseinsatz erscheint Remotely daher nur bedingt geeignet – trotz bedeutendem Potenzial.