Als digitaler Nomadeningenieur – oder der „Babysitter“ von Hunderten von Firmencomputern – ist das Zurückverbinden zu einem Server von verschiedenen Client-Geräten zur Konfiguration eine Routineaufgabe. Einige Ingenieure führen ihren eigenen Laptop mit häufig genutzter Software und Tools mit sich, um nicht eingeschränkt zu sein, wenn sie die Computer von Kollegen oder gemeinsam genutzte Rechner verwenden.
Das Zurückverbinden zu einem QNAP NAS ist jedoch viel einfacher. Da der NAS standardmäßig eine browserbasierte GUI zur Verwaltung verwendet, kann jedes Computer- oder Mobilgerät, das einen Webbrowser ausführen kann, auf den NAS zugreifen, um Remote-Operationen durchzuführen.

Das Terminal: Wo Ingenieure ihre Romantik finden
Was ist, wenn Sie auf die Befehlszeile oder den Terminalmodus zugreifen müssen? Windows, macOS und Linux Betriebssysteme verfügen in der Regel über einen nativen integrierten SSH-Client, sodass dies normalerweise kein großes Problem darstellt.
Das Starten einer SSH-Verbindung auf einem unbekannten Computer bringt jedoch immer noch einige inhärente Unannehmlichkeiten mit sich, wie zum Beispiel:
1. Ältere Betriebssysteme und mobile Geräte werden nicht unterstützt
Ältere Versionen von Betriebssystemen, insbesondere solche, die vor 2018 veröffentlicht wurden, sowie Android und iOS Geräte benötigen Drittanbieteranwendungen als SSH-Clients. In vielen sicherheitskritischen Umgebungen oder Fabriken sind ältere Betriebssysteme weiterhin im Einsatz.
2. Sicherheit
SSH-Verbindungen selbst sind sicher. Allerdings können Anmeldedaten, die vor dem Verbindungsaufbau eingegeben werden, weiterhin lokal überwacht oder durch Keylogger abgefangen werden. Die grafische Verwaltungsoberfläche des QNAP NAS bietet beim Login eine Zwei-Faktor-Authentifizierung, während SSH diese Funktion standardmäßig nicht beinhaltet.
Außerdem ist es beim Zugriff auf den NAS aus einem externen Netzwerk möglicherweise nicht möglich, über den entsprechenden Port zu verbinden. Wenn zum Beispiel der NAS extern nur die QTS Weboberfläche auf Port 8080 bereitstellt, können SSH-Verbindungen nicht durchgeleitet werden.
3. Sitzungsfortsetzung
Standardmäßig werden Aufgaben, die über eine SSH-Verbindung auf einem Server ausgeführt werden, beendet, sobald die Verbindung verloren geht. Wenn die Aufgabe das Herunterladen großer Dateien oder zeitaufwändige Verarbeitung umfasst, ist es unpraktisch, dauerhaft am Client-Computer zu bleiben oder die Sitzung auf einem öffentlichen Computer offen zu halten.
Wie lassen sich die oben genannten Probleme lösen? Unsere Ziele sind wie folgt:
1. Zugriff auf den Terminalmodus über einen Webbrowser
2. Die Sitzung läuft weiter, unabhängig von Client-Trennungen.
Stellen Sie zunächst sicher, dass die Aufgabe nicht unterbrochen wird
Die Aufrechterhaltung der Sitzung ist relativ einfach zu lösen. QTS selbst hat keine sitzungsbezogenen Probleme – der Schlüssel liegt in der Terminaloberfläche. Dies kann mit Terminal-Multiplexing-Tools wie screen oder Drittanbieter-Tools wie Tmux erreicht werden. Der Terminalmodus auf QNAP NAS entfernt screen nicht, was ihn zur einfachsten und bequemsten Methode macht, die Sitzung aufrechtzuerhalten.

Die Nutzung von screen ist sehr unkompliziert. Geben Sie einfach „screen“ im Terminal ein, um eine neue Sitzung zu erstellen. Die Eingabeaufforderung ändert sich nicht – wenn sie zum Beispiel ursprünglich [user1@TS-464 ~]$ war, sieht die Shell innerhalb der screen-Sitzung genau gleich aus.
Zu diesem Zeitpunkt bleibt die mit screen erstellte Sitzung auch dann bestehen, wenn die SSH-Verbindung unterbrochen wird.
Beim nächsten Aufbau einer SSH-Verbindung geben Sie einfach „screen -r“ ein, um die bestehende Sitzung wiederherzustellen. Mit screen können Sie mehrere Sitzungen erstellen. Verwenden Sie „screen -list“, um die pIDs der Sitzungen anzuzeigen, und dann -r pID, um die entsprechende Sitzung wiederherzustellen.
Im nächsten Schritt wird das zweite Problem behandelt: Zugriff auf den QNAP NAS Terminalmodus über einen Webbrowser. QTS bietet diese Funktionalität nicht von Haus aus. Der einfachste Ansatz ist, eine Docker-Anwendung über Container Station mit ssh-client-Funktionalität auszuführen. Sie können dann die Terminaloberfläche des Containers direkt aus der QTS Weboberfläche öffnen.
Der schnellste Weg, eine Docker-Anwendung zu erstellen, ist die Verwendung eines vorhandenen Docker-Images. Obwohl wir einen ssh-client und keinen ssh-server-Dienst benötigen, können wir direkt dasopenssh-server, der auf Docker Hub verfügbar ist, da er ebenfalls Client-Funktionalität enthält. Die offizielle Seite stellt eine YAML-Konfigurationsdatei bereit, was die Bereitstellung bequemer macht.

Offizielles YAML-Beispiel zur Referenz:
services:
openssh-server:
image: lscr.io/linuxserver/openssh-server:latest
container_name: openssh-server
hostname: openssh-server #optional
environment:
– PUID=1000
– PGID=1000
– TZ=Etc/UTC
– PUBLIC_KEY=yourpublickey #optional
– PUBLIC_KEY_FILE=/path/to/file #optional
– PUBLIC_KEY_DIR=/path/to/directory/containing/only/pubkeys #optional
– PUBLIC_KEY_URL=https://github.com/username.keys #optional
– SUDO_ACCESS=false #optional
– PASSWORD_ACCESS=false #optional
– USER_PASSWORD=password #optional
– USER_PASSWORD_FILE=/path/to/file #optional
– USER_NAME=linuxserver.io #optional
– LOG_STDOUT= #optional
volumes:
– /path/to/openssh-server/config:/config
ports:
– 2222:2222
restart: unless-stopped

Sobald erstellt, klicken Sie im Container Station-Interface auf “Ausführen”:

Die Terminal-Schnittstelle kann anschließend verwendet werden, um per SSH in das NAS-Hostsystem zu gelangen:

Zwei-Faktor-Authentifizierung für hinzugefügte Sicherheit aktivieren
Wenn keine Firewall-Beschränkungen bestehen, kann auf den Container direkt über seine URL zugegriffen werden. Wie jedoch zu Beginn dieses Artikels betont wurde, sollte Sicherheit stets berücksichtigt werden. Das Starten von Container Station über die QTS Weboberfläche ist daher eine sicherere Vorgehensweise.
Wie können Passwörter also vor Keyloggern geschützt werden? Beim Einsatz eines unbekannten Computers ist besondere Vorsicht geboten. Abgesehen von der Aktivierung einer Bildschirmtastatur und der Eingabe von Zugangsdaten mit der Maus gibt es derzeit keine effektive Möglichkeit, die Erfassung von Zugangsdaten durch Keylogger zu verhindern. Praktische Gegenmaßnahmen sind die Aktivierung der Zwei-Faktor-Authentifizierung und das regelmäßige Ändern von Passwörtern.

QTS bietet Zwei-Faktor-Authentifizierung und authentifikatorbasierte Authentifizierung zur Verbesserung der Login-Sicherheit. SSH-Schlüssel-Authentifizierung ist in diesem Szenario jedoch nicht anwendbar.
Dieses browserbasierte Gateway, das über Container Station erstellt wurde und mit der Sitzungsbeständigkeit von Screen kombiniert ist, zeigt, dass Sicherheit, Komfort und Kontinuität effektiv ausbalanciert werden können. Mit dieser kombinierten Lösung ist es nicht mehr notwendig, auf spezielle Client-Software angewiesen zu sein oder sich Sorgen über den Verlust von Fortschritten durch Netzwerkunterbrechungen zu machen. Beim nächsten Bereitschaftsdienst können Sie auch ohne Ihren gewohnten Laptop produktiv bleiben – solange Sie Zugriff auf einen Webbrowser haben.
Wiederveröffentlicht mit Berechtigung von CyberQ