Was ist SSH?
Secure Shell (SSH) ist ein Protokoll und eine Befehlsschnittstelle für den sicheren Zugriff auf einen Remote-Computer. Netzwerkadministratoren nutzen es häufig zur Remote-Verwaltung von Webservern und anderen Servertypen. Über SSH übertragene Daten und Befehle werden verschlüsselt und mehrfach geschützt. Beide Enden der Client-/Server-Verbindung werden mit einem digitalen Zertifikat authentifiziert, und die Passwörter sind verschlüsselt. Für eine Anfrage an den Server über Secure Shell muss dort der SSH-Daemon (bzw. Serveranwendung/Dienst) installiert und gestartet sein.
SSH unter Windows
Standardmäßig ist SSH auf UNIX-ähnlichen Betriebssystemen verfügbar. Sie können sich jedoch auch per SSH mit einem Windows-Server verbinden. Es gibt mehrere beliebte SSH-Server für Windows. Ein Beispiel ist Cygwin, das als Dienst im System installiert wird. Unter den SSH-Clients für Windows ist PuTTY erwähnenswert. Es unterscheidet sich durch eine freundliche Oberfläche und einen reichhaltigen Funktionsumfang, einschließlich Proxy-Servern und dem Speichern von Verbindungseinstellungen. Ab Windows 10 (Version 1809 und neuer) bzw. Windows Server 2019 steht ein integrierter OpenSSH-Client zur Verfügung, mit dem Sie sich mit Remote-Geräten verbinden können. Installieren Sie ihn unter Apps & Features:
- Einstellungen -> Apps -> Optionale Features -> Feature hinzufügen.
- Suchen Sie OpenSSH-Client in der Liste und klicken Sie auf Installieren.
Um sich per SSH mit einem Remote-Host zu verbinden, starten Sie eine PowerShell-Eingabeaufforderung oder cmd.exe. Geben Sie den Befehl ein:
ssh username@host
Beispielsweise verbinden Sie sich mit einem Linux-Host mit der IP-Adresse 192.168.1.100 als root mit dem Befehl:
ssh root@192.168.1.100
Beim ersten Verbinden werden Sie aufgefordert, den Hostschlüssel als vertrauenswürdig hinzuzufügen: geben Sie yes ein und drücken Sie Enter. Anschließend werden Sie nach dem Passwort des angegebenen Kontos gefragt. Geben Sie das Root-Passwort ein und drücken Sie Enter. Die Konsole des Remote-Linux-Hosts öffnet sich, in der Sie bereits vollständig arbeiten und Befehle ausführen können.
Hostparameter über SSH überwachen
Mit SSH können Sie viele Parameter eines Remote-Hosts unter Linux, Android oder einem anderen *nix-ähnlichen System überwachen. SSH ermöglicht die Remote-Steuerung des Betriebssystems einschließlich der Ausführung verschiedener Skripte und des Abrufs von Informationen. Über eine Remote-Verbindung per SSH kann das Überwachungsprogramm beliebige Skripte und Betriebssystembefehle ausführen und deren Ergebnis empfangen und verarbeiten.
Im Folgenden zeigen wir, wie die SSH-Überwachung in 10-Strike Network Monitor (Pro) konfiguriert wird.
Nach der Programminstallation können Sie das Netzwerk scannen und gefundene Hosts zur Überwachungsliste hinzufügen oder sie manuell anlegen. Fügen Sie einen Linux-Host zur Liste hinzu (Hosts -> Add host):
Standardmäßig wird für jeden neuen Host eine ICMP-Ping-Prüfung erstellt, mit der Sie seine Verfügbarkeit im Netzwerk überwachen. Legen wir die zweite Prüfung zur SSH-Überwachung an (Checks -> Add check):
Das Programm verfügt bereits über mehrere Vorlagen zur Unterstützung bei der Prüfungskonfiguration:
- Überwachung von freiem/belegtem RAM
- Überwachung der durchschnittlichen CPU-Last pro Minute, für 5 und 15 Minuten (CPU Load)
- Überwachung des freien Speicherplatzes auf angegebenen Laufwerken
Zur Überwachung anderer Parameter können Sie eigene Befehle und Bash-Skripte verwenden, die auf einem Remote-Computer ausgeführt werden und Parameter per SSH an das Programm zurückgeben. Beispielsweise mit dem Befehl
cat /proc/15410/status |grep -i VMSIZE | awk '{print "result=",$2}'
können Sie den vom Prozess mit PID 15410 belegten Speicher ermitteln. Mit der Schaltfläche Abrufen (Get) prüfen Sie die Funktion des Skripts oder Befehls. Bei erfolgreicher Anfrage wird das danebenliegende Feld mit dem Ergebnis gefüllt.
Die Antwort eines Skripts oder Befehls sollte mit der Zeile beginnen
result=
Verwenden Sie dazu die Syntax:
| awk '{print "result=",$1}'
$1 ist die Nummer des zurückgegebenen Parameters in der Antwort.
Im Beispiel:
/bin/date "+%F %T" | awk '{print "result=",$1}'
$1 gibt das Datum zurück, $2 die Uhrzeit.
Ist der Parameter numerisch, muss der Befehl oder das Skript nur den Parameter selbst zurückgeben, ohne begleitende Zeilen und Kommentare. Neben numerischen Parametern kann das Programm Zeilen parsen und darin nach dem angegebenen Text suchen. Legen Sie den Schwellenwert fest, bei dem die Prüfung als bestanden gilt.
Für die SSH-Verbindung kann der Remote-Host eine private Schlüsseldatei verlangen. Diese kann im Programm im entsprechenden Feld hinterlegt werden. Außerdem sind einige SSH-Server wählerisch beim Terminalnamen und können beim Verbinden den Fehler "Unknown terminal type" werfen. In diesem Fall können Sie den Terminalnamen in den Programmeinstellungen angeben (siehe Abschnitt Monitoring). Unter Linux ermitteln Sie den Terminalnamen mit dem Befehl echo $TERM.
Nach dem Prüfen von Skript oder Befehl können Sie zum nächsten Schritt des Assistenten für Überwachungseinstellungen gehen. Im Abschnitt Display on Charts (Anzeige in Diagrammen) können Sie den vom Skript oder Befehl empfangenen Wert in die gewünschte Maßeinheit umrechnen. In unserem Fall wandeln wir Kilobyte in Megabyte um, indem wir durch 1024 teilen. Hier können Sie auch den Indikatortyp konfigurieren.
Im letzten Schritt legen Sie die Alarmparameter fest, falls der Parameterwert die Bedingung überschreitet. Aktivieren wir beispielsweise das Senden einer Nachricht an Slack.
Klicken Sie auf Fertigstellen.
Die Prüfung wurde erstellt und läuft bereits. Ihr Ergebnis ist in der Prüfungsliste sichtbar (siehe Beispiel freier Festplattenspeicher unten).
Sie können auch das Diagramm des überwachten Parameters anzeigen (siehe Beispiel durchschnittliche CPU-Last unten):
Mit dieser Prüfung können Sie jedes Android-Gerät überwachen, sofern Sie darauf einen SSH-Server installieren können. Beispielsweise überwacht das Programm Smartphones bekannter Marken erfolgreich über Wi-Fi, nachdem ein SSH-Server aus Google Play installiert wurde.
Anforderungen: Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022 werden unterstützt.








