Das Einrichten von SSH-Keys dauert etwa fünf Minuten und ersetzt Ihr Server-Passwort durch ein kryptografisches Schlüsselpaar, das weitaus schwerer zu knacken ist: Sie erzeugen das Paar auf dem eigenen Rechner, kopieren die öffentliche Hälfte auf den Server und schalten anschließend die Passwort-Anmeldung ab. Die Kurzfassung besteht aus drei Befehlen — ssh-keygen -t ed25519, ssh-copy-id user@your-server und dann einer einzeiligen Änderung, um die Passwort-Authentifizierung zu deaktivieren. Diese Anleitung führt Sie Schritt für Schritt durch das Vorgehen für einen Linux-VPS, erklärt, welchen Schlüsseltyp Sie 2026 wählen sollten, und behandelt den Härtungsschritt, den die meisten Tutorials auslassen.
Wenn Sie jemals bei jeder SSH-Verbindung zu einer Maschine ein Passwort eingetippt haben, beseitigen Keys diese Reibung und das damit verbundene Sicherheitsrisiko. Ein Schlüssel ist im Grunde ein unerratbares Passwort von mehreren Tausend Zeichen Länge, das niemals zum Server übertragen wird, sodass Brute-Force-Angriffe auf Ihr Login schlicht ins Leere laufen.
Was SSH-Keys sind und warum sie Passwörter schlagen
Ein SSH-Schlüsselpaar besteht aus zwei zusammengehörigen Dateien: einem privaten Schlüssel, der auf Ihrem Computer bleibt, und einem öffentlichen Schlüssel, den Sie auf jedem Server ablegen, den Sie erreichen möchten. Beim Verbindungsaufbau fordert der Server Ihre Maschine auf, den Besitz des privaten Schlüssels nachzuweisen, und dieser Nachweis erfolgt, ohne dass das Geheimnis jemals Ihren Laptop verlässt. Da der private Schlüssel im Vergleich zu einem menschlichen Passwort riesig ist und niemals zum Server übertragen wird, unterstützt OpenSSH die Public-Key-Authentifizierung als sicherere Anmeldemethode als ein wiederverwendbares Passwort.
Die praktischen Vorteile zeigen sich sofort. Sie senden kein wiederverwendbares Passwort mehr über das Netzwerk, sodass Credential-Stuffing- und Brute-Force-Bots, die auf Port 22 einhämmern, nichts erbeuten. Sie können sich anmelden, ohne etwas einzutippen, was Skripte und Deployments schmerzlos macht. Und sobald die Keys funktionieren, können Sie die Passwort-Anmeldung vollständig abschalten — die mit Abstand größte Reduzierung der Angriffsfläche, die ein neuer Server erhält, und der Grund, warum Keys der erste Schritt bei jeder sicheren VPS-Einrichtung in der ersten Stunde sind.
Welchen SSH-Schlüsseltyp sollten Sie 2026 verwenden?
Nicht alle Schlüsselalgorithmen sind gleichwertig. ssh-keygen kann mehrere Typen erzeugen, doch 2026 ist die Wahl für nahezu jeden einfach: Verwenden Sie Ed25519. Er ist schnell, erzeugt kurze Schlüssel und seine Sicherheit ist ausgezeichnet; er ist zudem der moderne Standard, den GitHub und die meisten Plattformen inzwischen empfehlen.
| Schlüsseltyp | Befehlsoption | Hinweise |
|---|---|---|
| Ed25519 | -t ed25519 | Empfohlen. Schnell, winzig, modern, breit unterstützt. |
| RSA 4096 | -t rsa -b 4096 | Nur für alte Systeme ohne Ed25519-Unterstützung verwenden. |
| ECDSA | -t ecdsa | Funktioniert, aber kein Grund, ihn gegenüber Ed25519 zu bevorzugen. |
| DSA | -t dsa | Veraltet und in modernem OpenSSH deaktiviert — niemals verwenden. |
Die einzige Ausnahme ist ein veralteter Server oder ein Gerät, das zu alt ist, um Ed25519 zu verstehen — hier ist RSA mit 4096 Bit die sichere Rückfalloption. Für einen normalen Linux-VPS mit aktuellem OpenSSH ist Ed25519 die richtige Antwort, und der Rest dieser Anleitung setzt ihn voraus.
SSH-Keys Schritt für Schritt einrichten
Drei Schritte: das Paar erzeugen, den öffentlichen Schlüssel auf den Server kopieren und dann verbinden.
1. Erzeugen Sie das Schlüsselpaar auf Ihrem lokalen Rechner (nicht auf dem Server):
ssh-keygen -t ed25519 -C "you@yourmachine"
Drücken Sie Enter, um den Standardspeicherort (~/.ssh/id_ed25519) zu übernehmen, und legen Sie bei der Aufforderung eine Passphrase fest — eine Passphrase verschlüsselt den privaten Schlüssel auf der Festplatte, sodass ein gestohlener Laptop Ihre Server nicht preisgibt. Dabei entstehen zwei Dateien: id_ed25519 (privat, geheim halten) und id_ed25519.pub (öffentlich, weitergebbar).
2. Kopieren Sie den öffentlichen Schlüssel auf den Server mit dem Helfer, der die Berechtigungen für Sie regelt:
ssh-copy-id user@your-server-ip
Der Befehl meldet sich einmal mit Ihrem Passwort an und hängt Ihren öffentlichen Schlüssel an ~/.ssh/authorized_keys auf dem Server an. Kein ssh-copy-id vorhanden (unter Windows/macOS häufig)? Erledigen Sie es manuell — fügen Sie den Inhalt Ihrer .pub-Datei in diese Datei ein und stellen Sie sicher, dass das Verzeichnis 700 und die Datei 600 ist, sonst weigert sich SSH, sie zu verwenden.
3. Verbinden Sie sich. Führen Sie ssh user@your-server-ip aus, und Sie sind ohne Passwortabfrage drin (lediglich Ihre lokale Passphrase, falls Sie eine gesetzt haben). Testen Sie dies in einem neuen Terminal, bevor Sie fortfahren — Sie müssen bestätigen, dass die Key-Anmeldung funktioniert, bevor Sie Passwörter deaktivieren.
Absichern: Passwort-Anmeldung deaktivieren
Dies ist der Schritt, der aus "die Keys funktionieren" ein "der Server ist tatsächlich sicherer" macht, und es ist derjenige, den die meisten Anleitungen überspringen. Solange die Passwort-Authentifizierung aktiviert bleibt, können Bots weiterhin versuchen, Ihr Passwort zu erraten — Keys hin oder her. Sobald Sie bestätigt haben, dass die Key-Anmeldung funktioniert, bearbeiten Sie die Konfiguration des SSH-Daemons auf dem Server unter /etc/ssh/sshd_config:
PasswordAuthentication no
PubkeyAuthentication yes
Laden Sie anschließend den Dienst neu — sudo systemctl restart ssh unter Debian/Ubuntu (sshd auf manchen Distributionen). Von nun an akzeptiert der Server nur noch Keys, und Passwort-Brute-Force gegen ihn wird unmöglich. Das OpenSSH-Handbuch zu sshd_config dokumentiert beide Direktiven. Lassen Sie Ihre bestehende Sitzung geöffnet, während Sie eine frische Anmeldung testen, damit Sie die Änderung rückgängig machen können, falls etwas nicht stimmt. Das ergänzt sich natürlich mit der umfassenderen Härtung in einer vollständigen Anleitung zum Self-Hosting auf einem VPS.
Keys verwalten: ssh-agent und einen bestimmten Schlüssel wählen
Sobald Sie einen Schlüssel haben, machen zwei kleine Werkzeuge den täglichen Gebrauch angenehmer. Der ssh-agent hält Ihren entschlüsselten privaten Schlüssel im Speicher, sodass Sie die Passphrase einmal pro Sitzung eingeben statt bei jeder Verbindung. Starten Sie ihn und fügen Sie Ihren Schlüssel hinzu:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Wenn Sie mehrere Schlüssel haben und einen bestimmten erzwingen müssen — eine häufige Frage — verweisen Sie SSH direkt darauf mit ssh -i ~/.ssh/id_ed25519 user@host, oder machen Sie es dauerhaft in ~/.ssh/config:
Host myserver
HostName 203.0.113.10
User deploy
IdentityFile ~/.ssh/id_ed25519
Nun verwendet ssh myserver automatisch den richtigen Schlüssel und Benutzer. Eine Konfigurationsdatei lohnt sich in dem Moment, in dem Sie mehr als einen Server verwalten; sie ist außerdem der sauberste Weg, um berufliche und private Schlüssel voneinander zu trennen. Sichern Sie diese Dateien genauso wie alle anderen kritischen Daten — siehe unsere 3-2-1-Backup-Anleitung für ein Setup, das sich tatsächlich wiederherstellen lässt.
Hinweise für Windows und macOS
Modernes Windows 10/11 und macOS bringen OpenSSH bereits mit, sodass ssh-keygen -t ed25519 in PowerShell oder Terminal gleich funktioniert. Unter Windows liegen die Schlüssel in C:\Users\you\.ssh\, und Sie können den Agent mit Start-Service ssh-agent starten, bevor Sie ssh-add ausführen. Da ssh-copy-id unter Windows fehlt, kopieren Sie den öffentlichen Schlüssel manuell mit type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh user@host "cat >> ~/.ssh/authorized_keys". Alles Übrige — die Konfigurationsdatei, das serverseitige Deaktivieren von Passwörtern — ist identisch.
Häufig gestellte Fragen
Wie verwende ich SSH-Keys anstelle eines Passworts?
Erzeugen Sie ein Schlüsselpaar mit ssh-keygen -t ed25519, kopieren Sie den öffentlichen Schlüssel mit ssh-copy-id user@host auf den Server und bestätigen Sie anschließend, dass Sie sich ohne Passwort anmelden können. Um Passwörter vollständig zu ersetzen, setzen Sie PasswordAuthentication no in der /etc/ssh/sshd_config des Servers und starten SSH neu.
Welchen SSH-Schlüsseltyp sollte ich verwenden?
Ed25519. Er ist der moderne Standard: schnell, kompakt und sicher. Greifen Sie nur bei veralteten Systemen, die Ed25519 nicht unterstützen, auf RSA 4096 (ssh-keygen -t rsa -b 4096) zurück. Vermeiden Sie DSA und ECDSA.
Wie richte ich authorized_keys ein?
ssh-copy-id erledigt das für Sie, indem es Ihren öffentlichen Schlüssel an ~/.ssh/authorized_keys auf dem Server anhängt. Um es von Hand zu machen, fügen Sie den Inhalt Ihrer .pub-Datei in diese Datei ein, einen Schlüssel pro Zeile, und setzen die Berechtigungen auf 700 für das Verzeichnis ~/.ssh und 600 für die Datei.
Wie zwinge ich SSH, einen bestimmten Schlüssel zu verwenden?
Verwenden Sie ssh -i ~/.ssh/keyname user@host für einen einmaligen Fall, oder fügen Sie eine IdentityFile-Zeile unter einem Host-Eintrag in ~/.ssh/config hinzu, um es für diesen Server dauerhaft zu machen.
Sind SSH-Keys sicherer als ein VPN?
Sie lösen unterschiedliche Probleme. SSH-Keys authentifizieren Ihre Anmeldung an einem Server, der über das Netzwerk erreichbar ist; ein VPN oder Tunnel steuert, wer ihn überhaupt erreichen kann. Zum Härten eines öffentlichen VPS verwenden Sie ausschließlich Key-basiertes SSH; um einen Dienst privat zu halten, ergänzen Sie zusätzlich einen Tunnel.
Sources
- OpenSSH — ssh(1)-Handbuch: maßgebliche Beschreibung der Public-Key-Authentifizierung und der Funktionsweise des Schlüsselaustauschs.
- OpenSSH — sshd_config(5)-Handbuch: offizielle Referenz zu
PasswordAuthenticationundPubkeyAuthentication. - OpenSSH — ssh-keygen(1)-Handbuch: offizielle Optionen zur Schlüsselerzeugung und unterstützte Algorithmen.
- GitHub Docs — Neuen SSH-Schlüssel erzeugen und zum ssh-agent hinzufügen: aktuelle Empfehlung für Ed25519 und die Verwendung von ssh-agent.
Waqas Ahmed Waseer
Waqas Ahmed Waseer ist Entwickler und Automation-Builder mit über 8 Jahren Erfahrung im Aufbau von Produktivsystemen, die von mehr als 100.000 Menschen genutzt werden. Er baut individuelle Multi-Tenant-SaaS, KI-Automatisierung (n8n, LLM-Workflows, WhatsApp-Bots) und Hosting-Infrastruktur (WHM/cPanel, CloudLinux) — und ist der Macher von WaSphere, FlowMaticX und der Hosting-Marke WaseerHost. Über 100 Projekte für KMU, Agenturen und finanzierte Start-ups umgesetzt.


