SSH Zugang: Server per Kommandozeile verwalten

SSH bietet direkten Zugriff auf die Kommandozeile Ihres Servers. Damit stehen Ihnen Möglichkeiten offen, die weit über das hinausgehen, was ein Kontrollpanel bietet. In diesem Ratgeber erfahren Sie, was SSH ist, wie Sie eine Verbindung herstellen und welche Befehle Ihnen im Webhosting Alltag helfen.

Was ist SSH und wofür wird es genutzt?

SSH steht für Secure Shell und bezeichnet ein Protokoll zur verschlüsselten Kommunikation mit einem entfernten Computer. Über eine SSH Verbindung können Sie Befehle auf Ihrem Server ausführen, als säßen Sie direkt davor. Die gesamte Übertragung ist dabei verschlüsselt, sodass niemand mitlesen kann.

Im Gegensatz zu FTP, das nur für die Dateiübertragung gedacht ist, ermöglicht SSH die vollständige Steuerung des Servers. Sie können Dateien bearbeiten, Programme ausführen, Dienste starten und stoppen, Logs einsehen und vieles mehr. Für fortgeschrittene Websitebetreiber ist SSH ein unverzichtbares Werkzeug.

Vorteile gegenüber anderen Zugriffsmethoden

Warum sollten Sie SSH nutzen, wenn es doch grafische Kontrollpanels gibt? Die Antwort liegt in der Flexibilität und Effizienz.

  • Vollständige Kontrolle: Sie können alles tun, was der Server erlaubt, ohne Einschränkungen der Oberfläche
  • Schnelligkeit: Viele Aufgaben lassen sich per Befehl schneller erledigen als durch Klicken
  • Automatisierung: Befehle können zu Skripten kombiniert und automatisch ausgeführt werden
  • Ressourcenschonend: SSH verbraucht minimal Bandbreite und Rechenleistung
  • Sicherheit: Die Verschlüsselung schützt vor Abhören und Manipulation

Wann ist SSH verfügbar?

Nicht jedes Hosting Paket bietet SSH Zugang. Bei einfachem Shared Hosting fehlt diese Option oft aus Sicherheitsgründen. Der Hoster möchte verhindern, dass Kunden versehentlich oder absichtlich anderen Kunden auf dem gleichen Server schaden.

Bei höherwertigen Paketen, virtuellen Servern und dedizierten Servern ist SSH Standard. Wenn Ihnen SSH Zugang wichtig ist, achten Sie bei der Wahl des Webhosters darauf, dass diese Funktion im Paket enthalten ist.

Eine SSH Verbindung herstellen

Um sich per SSH mit Ihrem Server zu verbinden, benötigen Sie einen SSH Client auf Ihrem lokalen Rechner und die Zugangsdaten für Ihren Server.

SSH Clients für verschiedene Betriebssysteme

Je nach Betriebssystem stehen Ihnen verschiedene Programme zur Verfügung:

Betriebssystem Empfohlener Client Verfügbarkeit
Windows 10/11 Integriertes OpenSSH Bereits vorinstalliert
Windows (alternativ) PuTTY Kostenloser Download
macOS Terminal Bereits vorinstalliert
Linux Terminal Bereits vorinstalliert

Verbindung mit Benutzername und Passwort

Die einfachste Methode zur Authentifizierung nutzt Benutzername und Passwort. Sie öffnen Ihr Terminal oder den SSH Client und geben folgenden Befehl ein:

ssh benutzername@server.example.com

Das System fragt dann nach dem Passwort. Nach erfolgreicher Eingabe sind Sie mit dem Server verbunden und sehen die Kommandozeile. Die genauen Zugangsdaten erhalten Sie von Ihrem Hoster, meist im Kundenbereich oder in der Willkommens E Mail.

Verbindung mit SSH Schlüsseln

Sicherer und bequemer ist die Authentifizierung über SSH Schlüssel. Dabei erzeugen Sie ein Schlüsselpaar aus öffentlichem und privatem Schlüssel. Der öffentliche Schlüssel wird auf dem Server hinterlegt, der private bleibt auf Ihrem Rechner. Bei der Verbindung beweisen Sie durch den privaten Schlüssel Ihre Identität.

Diese Methode hat mehrere Vorteile: Sie müssen kein Passwort eingeben, die Verbindung ist noch sicherer, und Sie können den Passwort Login komplett deaktivieren. Gerade für die Sicherheit Ihres Servers ist das ein wichtiger Schritt.

Grundlegende SSH Befehle

Nach der Verbindung stehen Ihnen zahlreiche Befehle zur Verfügung. Die wichtigsten sollten Sie kennen, um sich auf dem Server zurechtzufinden.

Navigation im Dateisystem

Diese Befehle helfen beim Bewegen durch die Verzeichnisstruktur:

Befehl Funktion Beispiel
pwd Zeigt das aktuelle Verzeichnis pwd
ls Listet Dateien und Ordner auf ls -la
cd Wechselt das Verzeichnis cd /var/www/html
mkdir Erstellt ein neues Verzeichnis mkdir neuer_ordner
rmdir Löscht ein leeres Verzeichnis rmdir alter_ordner

Arbeiten mit Dateien

Für den Umgang mit Dateien stehen diese Befehle bereit:

Befehl Funktion Beispiel
cat Zeigt den Inhalt einer Datei cat config.php
nano / vim Öffnet einen Texteditor nano config.php
cp Kopiert Dateien oder Ordner cp datei.txt backup.txt
mv Verschiebt oder benennt um mv alt.txt neu.txt
rm Löscht Dateien rm ungebraucht.txt
chmod Ändert Zugriffsrechte chmod 644 datei.txt
chown Ändert den Besitzer chown www-data datei.txt

Suchen und Filtern

Um in Dateien oder Verzeichnissen zu suchen, nutzen Sie:

  • find: Sucht Dateien nach verschiedenen Kriterien
  • grep: Durchsucht Dateiinhalte nach Textmustern
  • locate: Schnelle Suche in einer Datenbank aller Dateien

Diese Befehle sind besonders nützlich, um in Logfiles nach bestimmten Einträgen zu suchen oder herauszufinden, wo eine bestimmte Konfiguration gespeichert ist.

Praktische Anwendungen im Webhosting

SSH ist nicht nur für Systemadministratoren nützlich. Auch im alltäglichen Webhosting gibt es viele Situationen, in denen die Kommandozeile hilft.

Backups erstellen und verwalten

Per SSH können Sie schnell Backups Ihrer Website erstellen. Mit einem einzigen Befehl packen Sie alle Dateien in ein Archiv:

tar -czf backup.tar.gz /var/www/html

Auch Datenbanken lassen sich per SSH sichern. Der mysqldump Befehl exportiert eine komplette Datenbank in eine SQL Datei, die Sie dann herunterladen oder auf dem Server archivieren können.

Dateirechte korrigieren

Falsche Dateirechte sind eine häufige Ursache für Probleme bei Websites. Per SSH können Sie die Rechte schnell für viele Dateien gleichzeitig korrigieren. Mit einem rekursiven chmod Befehl setzen Sie die richtigen Rechte für alle Dateien in einem Verzeichnis.

Software installieren und aktualisieren

Auf einem eigenen Server können Sie per SSH Software installieren. Paketmanager wie apt oder yum laden Programme herunter und richten sie ein. So installieren Sie beispielsweise ein neues PHP Modul oder aktualisieren das System.

Logs in Echtzeit verfolgen

Mit dem Befehl tail können Sie Logdateien in Echtzeit beobachten. Das ist besonders nützlich bei der Fehlersuche:

tail -f /var/log/apache2/error.log

Neue Einträge erscheinen sofort auf dem Bildschirm, sobald sie in die Datei geschrieben werden. So sehen Sie unmittelbar, was auf dem Server passiert.

Sicherheit bei SSH Verbindungen

SSH ist von Haus aus sicher, aber Sie können die Sicherheit noch weiter erhöhen. Gerade wenn Sie einen eigenen Server betreiben, sollten Sie einige Vorkehrungen treffen.

Standardport ändern

SSH nutzt standardmäßig Port 22. Viele automatisierte Angriffe zielen genau auf diesen Port. Durch Ändern auf einen anderen Port reduzieren Sie die Anzahl solcher Angriffe erheblich. Das stoppt zwar keine gezielten Angriffe, filtert aber das Grundrauschen heraus.

Root Login deaktivieren

Der Root Benutzer hat volle Kontrolle über das System. Direkte Logins als Root sollten Sie deaktivieren. Stattdessen melden Sie sich mit einem normalen Benutzer an und wechseln bei Bedarf zu Root. Das erschwert Angreifern die Arbeit.

Schlüssel statt Passwörter

Wie bereits erwähnt, sind SSH Schlüssel sicherer als Passwörter. Nach der Einrichtung sollten Sie den Passwort Login komplett deaktivieren. So sind Brute Force Angriffe auf das Passwort von vornherein unmöglich.

Fail2Ban einsetzen

Fail2Ban ist ein Programm, das Logdateien überwacht und IP Adressen automatisch sperrt, die zu viele fehlgeschlagene Loginversuche haben. Das bietet wirksamen Schutz gegen Brute Force Angriffe.

SFTP als sichere Alternative zu FTP

SSH ermöglicht auch die sichere Dateiübertragung per SFTP. Das ist eine verschlüsselte Alternative zum klassischen FTP, das Daten unverschlüsselt überträgt.

Vorteile von SFTP

SFTP nutzt die SSH Verbindung für die Dateiübertragung. Dadurch sind alle Daten verschlüsselt, auch Benutzername und Passwort. Sie benötigen nur einen offenen Port und können die gleichen Zugangsdaten wie für SSH verwenden.

SFTP Clients

Die meisten FTP Programme unterstützen auch SFTP. Bei der Verbindung wählen Sie statt FTP einfach SFTP aus und geben Port 22 an. Das restliche Handling ist identisch zu FTP.

Häufige Probleme und Lösungen

Beim Arbeiten mit SSH können verschiedene Schwierigkeiten auftreten. Hier einige typische Situationen und wie Sie damit umgehen.

Verbindung wird verweigert

Wenn die Verbindung nicht zustande kommt, prüfen Sie zunächst die Zugangsdaten. Stimmt der Hostname? Ist der Port korrekt? Ist SSH in Ihrem Hosting Paket überhaupt verfügbar? Bei einem eigenen Server könnte der SSH Dienst nicht laufen oder eine Firewall den Zugang blockieren.

Verbindung bricht ab

SSH Verbindungen können bei Inaktivität getrennt werden. Setzen Sie in Ihrem Client ein Keep Alive Intervall, damit regelmäßig kleine Pakete gesendet werden. Alternativ können Sie Bildschirm Multiplexer wie screen oder tmux nutzen, die Sitzungen auch bei Verbindungsabbruch weiterlaufen lassen.

Berechtigungsprobleme

Wenn Befehle verweigert werden, fehlen möglicherweise die nötigen Rechte. Bei Shared Hosting haben Sie eingeschränkte Berechtigungen. Auf einem eigenen Server können Sie mit sudo vorübergehend erhöhte Rechte erlangen, wenn Ihr Benutzer dafür konfiguriert ist.

Weiterführende Möglichkeiten

SSH bietet noch viel mehr als hier beschrieben. Einige fortgeschrittene Funktionen seien kurz erwähnt.

SSH Tunnel

Mit SSH können Sie verschlüsselte Tunnel zu anderen Diensten aufbauen. So greifen Sie sicher auf eine Datenbank zu, die nicht öffentlich erreichbar ist, oder umgehen Firewalls in unsicheren Netzwerken.

Skripte und Automatisierung

Befehle lassen sich in Skripten zusammenfassen und automatisiert ausführen. In Kombination mit Cronjobs entstehen so mächtige Automatisierungen für Backups, Updates und Wartungsaufgaben.

Config Dateien

In der SSH Konfigurationsdatei können Sie häufig genutzte Verbindungen speichern. Statt den vollständigen Befehl einzugeben, verbinden Sie sich dann mit einem kurzen Alias. Das spart Zeit und verhindert Tippfehler.

Fazit: SSH als mächtiges Werkzeug

SSH öffnet die Tür zu einer neuen Ebene der Serververwaltung. Die Kommandozeile mag anfangs ungewohnt sein, doch mit etwas Übung werden viele Aufgaben schneller und effizienter als über grafische Oberflächen.

Beginnen Sie mit den grundlegenden Befehlen zur Navigation und Dateiverwaltung. Wenn Sie sich sicher fühlen, erkunden Sie die fortgeschrittenen Möglichkeiten. Die Investition in das Erlernen von SSH zahlt sich langfristig aus.

Nicht jeder benötigt SSH im Webhosting Alltag. Für einfache Websites reichen FTP und das Kontrollpanel völlig aus. Doch sobald Ihre Anforderungen wachsen, werden Sie die Möglichkeiten zu schätzen wissen, die nur die Kommandozeile bietet.

Weitere Informationen zu verwandten Themen finden Sie in unseren Artikeln zur FTP Dateiübertragung, zur Server Sicherheit und zur Logfile Analyse. Erfahren Sie außerdem, wie Cronjobs Ihre Aufgaben automatisieren können.