2080026

SSH-Fernwartung für Ihren Linux-Server

16.06.2017 | 14:30 Uhr |

Linux-Server, egal ob im eigenen Heimnetzwerk oder im Internet, verwaltet man üblicherweise per Kommandozeile über das Protokoll SSH. Das mag anachronistisch erscheinen, ist aber eine robuste und sichere Methode der Fernwartung.

Es ist im Idealfall nie notwendig, zur Administration eines Linux-Systems mit Tastatur und Maus vor dessen Bildschirm zu sitzen. Nahezu jedes Linux-System ist von Haus über das Netzwerk administrierbar. Die grundlegenden Bausteine sind die Kommandozeile (Shell) und das Protokoll SSH. Diese sind bereits vor Jahrzehnten entstanden und haben sich bis heute bestens bewährt – auf hochverfügbaren Servern in Rechenzentren genauso wie auf einem kleinen Raspberry Pi zu Hause.

SSH: Die Grundlagen

SSH hat seinen Preis: Es geht hier nicht intuitiv zu. Dafür ist eine Shell in allen Situationen vorhanden, verlangt keinen grafischen Desktop und ist auch über magere Netzwerkverbindungen aufrufbar. Die verbreitete und sichere Methode, eine Shell auf einem Linux-System im Netzwerk zu verwenden, ist SSH (kurz für „Secure Shell“). Dies ein Client-Server-Protokoll, das die Anmeldung an einem entfernten Linux-System mit Benutzernamen und Passwort ermöglicht, so wie an einer lokalen Textkonsole. Wer ein Linux-System im Netzwerk betreibt, kommt um SSH und die Linux-Kommandozeile nicht herum.

Erste Verbindung zum entfernten Linux-System per SSH: Bestätigung des Fingerabdrucks („fingerprint“) erforderlich.
Vergrößern Erste Verbindung zum entfernten Linux-System per SSH: Bestätigung des Fingerabdrucks („fingerprint“) erforderlich.

Die Zugriffskomponente (Client): Linux und Mac-OS X haben ein SSH-Programm zur Verbindungsaufnahme vorinstalliert: Die Verbindung zu einem Linux-Server gelingt mit dem gleichnamigen Programm „ssh“ im Terminal mit dem Kommando

ssh [Benutzer]@[IP-Adresse]

oder als konkretes Beispiel:

ssh root@192.168.1.30

Daraufhin muss – nur beim allerersten Zugriff – der kryptografische SSH-Fingerabdruck des Serversystems akzeptiert werden. Anschließend erfolgt die Abfrage des Passworts und die Ankunft in der anderen Shell, die genauso funktioniert wie eine lokale Linux-Kommandozeile.

Windows hat keinen SSH-Client, doch ist hier das Tool Putty seit Jahren verlässlicher Helfer. Im Prinzip genügen die Eingabe der IP-Adresse im Feld „Host Name (or IP address)“ und der Klick auf „Open“. Standardport 22 für SSH ist voreingestellt. Wer Putty häufig nutzt, wird aber die Möglichkeiten begrüßen, Einstellungen zu Benutzer, Fenster, Schrift, Farben zu speichern. Putty erlaubt die Definition beliebig vieler Serververbindungen als Lesezeichen unter „Session“.

Unter Windows ist Putty unentbehrlich für die Fernwartung von Linux-Systemen.
Vergrößern Unter Windows ist Putty unentbehrlich für die Fernwartung von Linux-Systemen.

Die Serverkomponente: Auf Serverdistributionen ist der SSH-Server meist vorinstalliert und standardmäßig aktiv. Auf Desktopdistributionen wie Ubuntu und Linux Mint läuft nach der Installation noch kein SSH-Server. Um das zu ändern, muss lediglich der Serverdienst „OpenSSH“ aus den Paketquellen installiert werden. Der Befehl

sudo apt-get install openssh-server

installiert das Paket und setzt den SSH-Server in Gang.

Lesetipp: Grafische SSH-Clients - Putty, Hot SSH und Co.

Rechte: Mit sudo arbeiten

Ein Administrator benötigt auf dem zu konfigurierenden Linux-System zumeist root-Rechte. root ist das Systemkonto mit den höchsten Privilegien und darf alles – auch Schaden anrichten. Daher ist root kein gutes Benutzerkonto für die tägliche Arbeit. Mit dem Kommando „su“ kann man von einem gewöhnlichen Benutzer zu root wechseln. Für Admin-Arbeiten in der Kommandozeile hat sich aber das Hilfswerkzeug sudo etabliert. Dieses Tool führt den dahinter angegebenen Befehl mit root-Rechten aus. In Ubuntu und Linux Mint ist der zuerst eingerichtete Benutzer für sudo vorkonfiguriert und darf nach der Eingabe des eigenen Passworts root-Befehle ausführen – etwa um Paketlisten zu aktualisieren:

sudo apt-get update

sudo ist auch der richtige Weg, wenn es darum geht, auf dem lokalen oder entfernten Linux-System Konfigurationsdateien zu bearbeiten. Der Befehl

sudo nano /etc/hostname

lädt auf Ubuntu und Linux Mint beispielsweise die Datei „/etc/hostname“, die den Namen (Hostname) des Systems enthält, in den Editor Nano. Die Tastenkombination Strg-O speichert eine geänderte Datei und Strg-X beendet Nano wieder.

Typische Kontrollgänge am Server

Eine der häufigsten Aufgaben ist die Kontrolle des Systems, der Auslastung und die Fehleranalyse, falls ein Serverdienst nicht wie erwartet funktioniert. Erste Anlaufstelle ist dann das Kernelprotokoll, das ein Linux-System ab dem Systemstart anlegt. Der Befehl

dmesg -T

zeigt alle Meldungen der Kernel-Logfiles mit Zeitstempel an. Ein Blick in dieses Protokoll gewährt dieser Befehl:

dmesg |less

Das angehängte „less“ zeigt die Meldungen seitenweise an und ein Druck auf Q beendet diese Auflistung. Hier finden sich auch Fehlermeldungen und Warnhinweise zu allen Geräten und Treibern. Die Eingabe

dmesg -T -l err

reduziert die Ausgabe auf Fehler. Normale Meldungen, wie sie der Kernel etwa für die Initialisierung von Geräten protokolliert, werden dann herausgefiltert.

Ein sehr empfehlenswertes Kommandozeilentool zur Anzeige der Systemauslastung ist das Programm htop, das mit

sudo apt-get install htop

auf Debian/Ubuntu-basierten Servern schnell nachinstalliert ist. htop zeigt die Liste der laufenden Prozesse an sowie Prozessor-und RAM-Auslastung. Über F2 ist die htop-Anzeige detailliert einstellbar, F10 beendet das Tool.

Auch interessant: Die 10 wichtigsten Linux-Befehle für Netzwerk und Internet

Mit Filezilla ist es auch unter Windows möglich, Dateien sicher per SSH auf Linux-Server zu übertragen.
Vergrößern Mit Filezilla ist es auch unter Windows möglich, Dateien sicher per SSH auf Linux-Server zu übertragen.

SSH zur Dateiübertragung

Unverschlüsselte Protokolle wie FTP und Webdav sind im Internet und in gemeinsam genutzten Netzwerken zur Dateiübertragung tabu. Dabei besteht immer das Risiko, dass auch die unverschlüsselt übermittelten Anmeldedaten in falsche Hände gelangen. Das Multitalent SSH sorgt für eine sichere Übertragung der Anmeldeinformationen und für die sicherere Datenübertragung. Das Kommandozeilenprogramm für die Dateiübertragung vom Client auf den Server per SSH heißt scp, kurz für „secure copy“. Mit

scp datei.ext [name]@[server]:/home/[name]/

kopieren Sie eine Datei namens „datei.ext“ als Benutzer „[name]“ auf einen Server in das Verzeichnis „/home/[name]“. Die Dateimanager Midnight Commander, Nautilus unter Gnome und Dolphin sowie Krusader unter KDE können ebenfalls Dateien per SSH übertragen. Für Windows eignet sich Filezilla als SSH-Client zur Dateiübertragung. Dort wählen Sie als Protokoll „SFTP“ statt „FTP“.

0 Kommentare zu diesem Artikel

PC-WELT Marktplatz

2080026