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.
