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.

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“.

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

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“.