SSH (Secure Shell) ist ein grundlegendes Werkzeug zur Verwaltung von Linux-Servern: eine verschlüsselte Verbindung, über die Sie Befehle auf einem Remote-Rechner ausführen, Dateien kopieren und einen sicheren Tunnel zu anderen Diensten herstellen können. Wenn Sie einen VPS mieten, werden Sie diesen darüber installieren, aktualisieren und konfigurieren; wenn Sie über einen cPanel-Hosting-Account verfügen, können Sie damit WP-CLI- oder Composer-Befehle ausführen und Ihre Git-Repositorys verwalten.
In dieser Anleitung erklären wir Ihnen, wie SSH funktioniert, wie Sie eine Verbindung unter Windows, macOS und Linux herstellen können, wie Sie anstelle eines Passworts die Anmeldung per Schlüssel einrichten, wie Sie Dateien kopieren, wie Sie den SSH-Zugriff auf einen Server absichern und was die häufigsten Fehlermeldungen bedeuten.
Wie funktioniert SSH?
SSH funktioniert auf Basis eines Client-Server-Modells: Auf dem Server läuft der SSH-Dienst (unter Linux in der Regel der OpenSSH-Prozesshd), der standardmäßig Verbindungen über den TCP-Port 22 entgegennimmt, während auf Ihrem eigenen Rechner ein SSH-Client eine Verbindung zu ihm herstellt.
Beim Aufbau der Verbindung vereinbaren beide Seiten Verschlüsselungsschlüssel, sodass alles, was anschließend über das Netzwerk übertragen wird (das Passwort, die Befehle und deren Ergebnisse sowie die Dateien), verschlüsselt übertragen wird. Aus diesem Grund hat SSH das alte, unverschlüsselte Telnet abgelöst, und aus diesem Grund ist SFTP, das auf SSH basiert, besser als einfaches FTP, bei dem das Passwort in lesbarer Form übertragen wird.
Bei der ersten Verbindung zeigt der Client den Fingerabdruck des Servers an und fragt Sie, ob Sie diesem vertrauen. Nach der Bestätigung wird dieser gespeichert (in der Datei „~/.ssh/known_hosts“), und wenn beim nächsten Mal ein anderer Fingerabdruck unter derselben Adresse auftritt, werden Sie gewarnt. Dies schützt Sie davor, dass jemand die Verbindung im Namen des Servers abfängt; sollte die Warnung unerwartet erscheinen (Sie haben den Server nicht neu installiert), fahren Sie nicht fort.
Wofür kann es verwendet werden?
- Serververwaltung: Installation und Aktualisierung von Paketen, Bearbeitung von Konfigurationsdateien, Neustart von Diensten, Auswerten von Protokollen.
- Dateiübertragung: SFTP, SCP und rsync, verschlüsselt.
- Entwicklerarbeit: Git-Operationen, WP-CLI, Composer, npm, Sichern und Wiederherstellen von Datenbanken über die Befehlszeile.
- Tunnel: Der sichere Zugriff von Ihrem eigenen Rechner aus auf einen Dienst, der auf einem Server läuft und von außen nicht erreichbar ist (z. B. eine Datenbank oder ein Remote-Desktop).
Wo ist SSH bei aWh verfügbar?
- KVM-VPS: Vollständiger SSH-Zugriff mit Root-Rechten.
- cPanel-Hosting: Ab dem cP Premium-Paket in Ihrem eigenen Hosting-Konto (aufgrund von CloudLinux CageFS sehen Sie nur Ihre eigenen Dateien).
- Statisches Hosting: SFTP-Dateiübertragung, ohne Zugriff über die Befehlszeile.
- Webhosting (KeyHelp): SSH ist nicht verfügbar; Sie können die Dateien über FTP oder den Dateimanager verwalten.
Anmeldung
In jedem Fall sind der Benutzername und die Serveradresse anzugeben, zum Beispiel root@203.0.113.10 oder felhasznalo@szerver.awh.hu.
Windows
Unter Windows 10 und 11 ist der OpenSSH-Client bereits integriert. Öffnen Sie PowerShell oder das Terminal und geben Sie Folgendes ein:
ssh felhasznalo@203.0.113.10
Bei einem nicht standardmäßigen Port: ssh -p 2222 felhasznalo@203.0.113.10.
Wenn Sie ein grafisches Programm wünschen, ist PuTTY die klassische Wahl, während MobaXterm zudem über einen integrierten SFTP-Browser verfügt; für die Dateiübertragung nutzen sowohl WinSCP als auch FileZilla SFTP.
macOS und Linux
Öffnen Sie das Terminal und verwenden Sie denselben Befehl: „ssh felhasznalo@203.0.113.10“. Der OpenSSH-Client ist auf beiden Systemen standardmäßig installiert.
Per Telefon
Auf Android-Geräten lässt sich die App „Termius“ oder „JuiceSSH“ und auf dem iPhone die App „Termius“ oder „Blink Shell“ bequem für schnelle Überprüfungen und einzelne Befehle nutzen.
Die Schritte für die erstmalige Verbindung mit dem VPS werden auch im Knowledge-Base-Artikel zur SSH-Verbindung mit dem VPS beschrieben.
Anmeldung per Schlüssel anstelle eines Passworts
Der SSH-Zugang per Passwort ist das häufigste Angriffsziel: Automatisierte Bots versuchen ständig, Passwörter zu erraten. Die Authentifizierung per Schlüsselpaar ist wesentlich sicherer: Ein privater Schlüssel verbleibt auf Ihrem eigenen Rechner, während der dazugehörige öffentliche Schlüssel auf den Server übertragen wird. Bei der Anmeldung überprüft der Server, ob Sie im Besitz des privaten Schlüssels sind, ohne dass dieser über das Netzwerk übertragen wird.
1. Erstellen eines Schlüsselpaars (so funktioniert es in Windows PowerShell, unter macOS und unter Linux):
ssh-keygen -t ed25519 -C "laptop-2026"
Ed25519 ist der heute empfohlene Schlüsseltyp: kurz, schnell und sicher. Falls ein älteres System diesen nicht unterstützt, verwenden Sie bitte einen Schlüssel vom Typ „-t rsa -b 4096“. Legen Sie eine Passphrase fest: Sollte Ihr Laptop in die falschen Hände geraten, kann der Schlüssel ohne diese Passphrase nicht verwendet werden. Damit Sie diese nicht jedes Mal neu eingeben müssen, speichert dessh-agent sie für die Dauer der Sitzung.
2. Hochladen des öffentlichen Schlüssels auf den Server:
ssh-copy-id felhasznalo@203.0.113.10
Unter Windows, wo es kein „ssh-copy-id“ gibt, kopieren Sie den Inhalt der Datei „C:\Users\<név>\.ssh\id_ed25519.pub“ auf dem Server an das Ende der Datei „~/.ssh/authorized_keys“. Bei cPanel-Hosting können Sie den Schlüssel auch über die Benutzeroberfläche hochladen oder erstellen; die einzelnen Schritte dazu werden im Artikel „Erstellen und Hochladen eines SSH-Schlüssels in cPanel“ beschrieben.
3. Probieren Sie in einem neuen Fenster aus, ob Sie sich mit dem Schlüssel anmelden können, und deaktivieren Sie erst danach die Passwortanmeldung (siehe unten). Wenn Sie diese zuvor deaktivieren, könnten Sie sich selbst aussperren.
Mehr Schlüssel, mehr Server: Sie können mehrere öffentliche Schlüssel auf einem Server hinterlegen (jeweils einen pro Zeile in der Datei „authorized_keys“), sodass jedes Ihrer Geräte oder jeder Ihrer Mitarbeiter über einen eigenen Schlüssel verfügen kann, den Sie separat widerrufen können. Auf Ihrem eigenen Rechner können Sie in der Datei „~/.ssh/config“ für jeden Server die Adresse, den Benutzernamen, den Port und den Schlüssel angeben:
Host webszerver
HostName 203.0.113.10
User janos
Port 22
IdentityFile ~/.ssh/id_ed25519
Danach genügt Folgendes: „ssh webszerver“.
Dateien über SSH kopieren
- SFTP: über ein grafisches Programm (FileZilla, WinSCP, Cyberduck) oder über die Befehlszeile (
sftp felhasznalo@szerver). Eine sichere Alternative zum herkömmlichen FTP. - SCP: Schnelles Kopieren einzelner Dateien:
scp mentes.tar.gz felhasznalo@szerver:/home/felhasznalo/. - rsync: Synchronisierung von Verzeichnissen; es werden nur die Änderungen übertragen, weshalb es bei großen Datenmengen und wiederholten Kopiervorgängen am schnellsten ist:
rsync -avz ./public_html/ felhasznalo@szerver:/var/www/oldal/.
Die detaillierte Anwendung dieser drei Tools wird in dem Artikel über die Verwendung von scp, rsync und sftp vorgestellt.
Nützliche Informationen
- Lang andauernde Befehle: Wenn die Verbindung unterbrochen wird, wird auch der laufende Befehl angehalten. Verwenden Sie „
tmux“ oder „screen“: Die Sitzung läuft auf dem Server weiter, und Sie können später wieder eine Verbindung herstellen. Mehr dazu erfahren Sie in diesem Artikel über die Verwendung von „tmux“ und „screen“. - Tunnel:
ssh -L 3307:localhost:3306 felhasznalo@szerver– Nach der Eingabe dieses Befehls können Sie die Datenbank des Servers auf Ihrem eigenen Rechner unter der Adresse „localhost:3307“ erreichen, ohne den Port 3306 öffnen zu müssen. - Wer hat sich angemeldet? Der Befehl „
last“ zeigt frühere Anmeldungen an, „who“ die aktuell angemeldeten Benutzer; das detaillierte Protokoll erhalten Sie mit „journalctl -u ssh“ (Debian, Ubuntu) oder „journalctl -u sshd“ (AlmaLinux, Rocky Linux). - Für SSH ist keine feste IP-Adresse erforderlich; sollten Sie jedoch über eine solche verfügen, können Sie den Zugriff in der Firewall ausschließlich von dieser Adresse aus zulassen, was einen sehr wirksamen Schutz darstellt.
Die Sicherheit des SSH-Servers auf einem VPS
Der SSH-Port eines frisch installierten VPS wird innerhalb weniger Minuten von automatischen Passwort-Crackern angegriffen. Mit den folgenden Einstellungen lässt sich ein Großteil dieses Risikos beseitigen.
- Erstellen Sie einen eigenen Benutzer mit sudo-Rechten und verwenden Sie diesen für Ihre tägliche Arbeit anstelle von root.
-
Anmeldung per Schlüssel, anschließend Deaktivierung der Passwortanmeldung. In der Datei „
/etc/ssh/sshd_config“ (oder in einer Datei unter „/etc/ssh/sshd_config.d/“):PasswordAuthentication no PermitRootLogin prohibit-passwordWenn Sie bereits über einen eigenen sudo-Benutzer verfügen, kann der Root-Zugriff vollständig gesperrt werden:
PermitRootLogin no. Überprüfen Sie nach dem Speichern die Einstellung (sudo sshd -t), starten Sie den Dienst neu (sudo systemctl restart sshodersshd) und versuchen Sie in einem neuen Fenster, sich anzumelden, bevor Sie das alte Fenster schließen. - Fail2ban: Sperrt die IP-Adresse des Versuchsführers automatisch nach erfolglosen Anmeldeversuchen. Über die Installation und Konfiguration von Fail2ban erfahren Sie mehr in dem entsprechenden Artikel.
- Firewall: Es sollten nur die erforderlichen Ports geöffnet sein, und falls Sie über eine feste IP-Adresse verfügen, sollten Sie den SSH-Zugang ausschließlich über diese zulassen.
- Aktualisierungen: Auch in OpenSSH treten Sicherheitslücken auf (die „regreSSHion“ aus dem Jahr 2024 ermöglichte beispielsweise die passwortlose Remote-Codeausführung auf nicht aktualisierten Servern); aktivieren Sie daher die automatischen Sicherheitsupdates.
- Die Umstellung des Ports (beispielsweise von 22 auf 2222) reduziert den Datenverkehr in den Protokollen, bietet jedoch keinen Schutz an sich; sie ist kein Ersatz für die Authentifizierung per Schlüssel oder Fail2ban. Wenn Sie den Port umstellen, müssen Sie den neuen Port auch in der Firewall freigeben; unter AlmaLinux und Rocky Linux muss zudem SELinux entsprechend angepasst werden.
Einzelheiten finden Sie in unserem Knowledge-Base-Artikel zu den Sicherheitseinstellungen des SSH-Servers sowie in unserem Leitfaden zur VPS-Sicherheit.
Sollten Sie Ihren privaten Schlüssel verlieren, können Sie nur mit einem anderen, noch gültigen Schlüssel oder Passwort auf den Server zugreifen. Daher empfiehlt es sich, den Zugriff über mindestens zwei Geräte (oder einen sicher aufbewahrten Ersatzschlüssel) aufrechtzuerhalten. Sollten Sie alles verloren haben, schreiben Sie uns bei einem aWh-VPS, und wir helfen Ihnen dabei, den Zugriff wiederherzustellen. Sollte Ihr Schlüssel in unbefugte Hände geraten sein, löschen Sie bitte den öffentlichen Teil aus der Datei „authorized_keys“ auf allen Servern.
Häufige Fehlermeldungen
- „
Connection timed out“: Die Datenpakete erreichen den Server nicht. Entweder ist die IP-Adresse oder der Port falsch, die Firewall (auf dem Server oder in Ihrem eigenen Netzwerk) blockiert den Zugriff, oder der Server ist nicht in Betrieb. Wenn Sie eine IP-Beschränkung oder Fail2ban verwenden, kann es vorkommen, dass Ihre eigene IP-Adresse gesperrt wurde. - „
Connection refused“: Der Server ist erreichbar, aber auf diesem Port läuft kein SSH-Dienst. Falscher Port oder dersshd-Dienst wurde beendet. Permission denied (publickey)– Der Server akzeptiert den Schlüssel nicht. Entweder ist der Benutzername falsch, der Client bietet nicht den richtigen Schlüssel an (dies können Sie mit dem Schalter „-i“ angeben) oder die Berechtigungen auf dem Server sind falsch: Das Verzeichnis „~/.ssh“ sollte die Berechtigung700haben, die Datei „authorized_keys“ die Berechtigung600.REMOTE HOST IDENTIFICATION HAS CHANGED: Der Fingerabdruck des Servers hat sich geändert. Wenn Sie den Server neu installiert haben, ist dies zu erwarten: Löschen Sie den alten Eintrag (ssh-keygen -R 203.0.113.10). Ist dies nicht der Fall, stellen Sie keine Verbindung her, bis Sie wissen, warum sich der Fingerabdruck geändert hat.Too many authentication failures(Zu viele Authentifizierungsfehler): Der Client hat zu viele Schlüssel ausprobiert. Geben Sie den richtigen Schlüssel mit dem Schalter-ioder in der Datei~/.ssh/configan (IdentitiesOnly yes).
Zusammenfassung
SSH bildet die sichere Grundlage für die Verwaltung von Linux-Servern. Sie können sich sowohl von Windows als auch von macOS und Linux aus über den integrierten Client verbinden; verwenden Sie anstelle eines Passworts einen durch ein Passphrase geschützten Ed25519-Schlüssel. Auf einem VPS sollten Sie als Erstes den Schlüsselzugang einrichten, den Passwortzugang und den Root-Zugang deaktivieren, Fail2ban und die Firewall konfigurieren sowie Dateien statt über FTP über SFTP oder rsync übertragen.
Die KVM-VPS-Server von aWh verfügen über SSH-Zugriff mit vollständigen Root-Rechten, während bei dem cPanel-Hosting ab dem Premium-Paket der SSH-Zugriff verfügbar ist.
Häufig gestellte Fragen
Ist SSH sicherer als FTP?
Ja. Bei FTP werden das Passwort und die Dateien unverschlüsselt übertragen, während SFTP, das auf SSH basiert, alles verschlüsselt. Sofern Ihr Webhosting-Anbieter dies zulässt, sollten Sie stets SFTP verwenden.
Welchen SSH-Client sollte ich unter Windows 11 verwenden?
Den integrierten OpenSSH-Client in PowerShell oder im Terminal; wenn Sie ein grafisches Programm benötigen, verwenden Sie PuTTY oder MobaXterm, für die Dateiübertragung WinSCP.
Was soll ich tun, wenn ich das Passwort für meinen Schlüssel vergessen habe?
Das Passwort kann nicht wiederhergestellt werden. Erstellen Sie ein neues Schlüsselpaar und laden Sie den neuen öffentlichen Schlüssel über einen anderen, funktionierenden Zugriff auf den Server hoch; löschen Sie den alten Schlüssel aus der Datei „authorized_keys“.
Kann ich mehrere SSH-Schlüssel auf einem Server verwenden?
Ja. Erstellen Sie beispielsweise separate Schlüssel für die Arbeit und für Ihre eigenen Projekte und legen Sie in der Datei „~/.ssh/config“ für jeden Server fest, welchen Schlüssel der Client verwenden soll.
Wie kann ich einen Befehl so ausführen, dass er auch nach dem Beenden des Programms weiterläuft?
Starten Sie den Befehl in einer tmux- oder screen-Sitzung oder mit dem nohup parancs &-Befehl. Am besten eignet sich tmux, da Sie später wieder eine Verbindung herstellen können.
Benötigen Sie eine feste IP-Adresse für SSH?
Nein, aber falls doch, dürfen Sie in der Firewall nur den Zugriff darauf zulassen, was einen sehr wirksamen Schutz darstellt.
Ist SSH in öffentlichen WLAN-Netzen sicher?
Ja, die Verbindung ist verschlüsselt. Achten Sie jedoch auf den Fingerabdruck des Servers: Sollte sich dieser unerwartet ändern, stellen Sie keine Verbindung her.
Muss ich Port 22 umkonfigurieren?
Dies ist nicht zwingend erforderlich. Es reduziert zwar die in den Protokollen sichtbaren automatischen Anmeldeversuche, doch den tatsächlichen Schutz bieten die Sperrung der Anmeldung per Schlüssel und per Passwort sowie Fail2ban.