Wenn Du Deinen Server startklar machst, ist eine der ersten Fragen: Wie logge ich mich sicher ein? Die meisten Hoster geben Dir anfangs ein Passwort. Aber Passwörter können erraten oder gestohlen werden. Es gibt eine viel bessere Methode: SSH-Keys.

Keine Sorge, das klingt technischer, als es ist. Wir gehen das jetzt Schritt für Schritt gemeinsam durch.

Was ist ein SSH-Key und warum ist er besser als ein Passwort?

Stell Dir Deinen Server als ein Haus vor. Ein Passwort ist wie ein Zahlencode für die Tür. Wenn jemand den Code errät (z.B. durch „Brute-Force-Raten“), steht er in Deinem Wohnzimmer.

Ein SSH-Key funktioniert anders. Es ist ein „Schlüsselpaar“ (Key Pair):

  1. Der private Schlüssel (Private Key): Das ist Dein persönlicher, super-geheimer Haustürschlüssel. Ihn gibst Du niemals aus der Hand. Er liegt sicher auf Deinem Computer.
  2. Der öffentliche Schlüssel (Public Key): Das ist das Schloss, das Du an Deiner Haustür (Deinem Server) anbringst. Diesen Schlüssel darf jeder sehen, er nützt niemandem ohne den passenden privaten Schlüssel.

Wenn Du Dich nun einloggen willst, hält Dein Computer den privaten Schlüssel an das öffentliche Schloss. Nur wenn beide exakt zusammenpassen, öffnet der Server die Tür.

Die Vorteile eines SSH-Keys

  • Extrem sicher: Ein SSH-Key ist unglaublich lang und komplex (z.B. 4096 Bit). Es ist mathematisch fast unmöglich, ihn zu erraten. Ein Passwort wie Sommer2025! ist dagegen ein Witz.
  • Bequem: Sobald er eingerichtet ist, loggst Du Dich oft mit einem Klick ein, ohne ständig Dein Passwort tippen zu müssen (besonders wenn Du einen „SSH-Agent“ nutzt).
  • Automatisierung: SSH-Keys sind die Grundlage, um Skripte oder Tools sicher mit Deinem Server kommunizieren zu lassen.

Schritt 1: Deinen eigenen SSH-Key erstellen (Client-Seite)

Der erste Schritt passiert komplett auf Deinem eigenen Computer (dem „Client“), nicht auf dem Server.

Für Mac und Linux (im Terminal)

Wenn Du macOS oder eine Linux-Distribution (wie Ubuntu) nutzt, ist das Tool bereits an Bord.

  1. Öffne Dein Terminal.
  2. Gib folgenden Befehl ein und drücke Enter:
ssh-keygen -t rsa -b 4096
  • -t rsa sagt, wir wollen einen gängigen RSA-Schlüssel.
  • -b 4096 legt die Schlüssellänge fest. 4096 Bit ist heute ein sehr sicherer Standard.

Du wirst nun drei Dinge gefragt:

  1. „Enter file in which to save the key…“: Drücke einfach Enter, um den Standard-Speicherort (~/.ssh/id_rsa) zu verwenden.
  2. „Enter passphrase (empty for no passphrase):“: Hier kannst Du ein zusätzliches Passwort festlegen, das Deinen privaten Schlüssel auf Deinem Computer schützt. Wenn jemand Deinen Laptop klaut, kann er den Schlüssel nicht ohne dieses Passwort verwenden.
  3. „Enter same passphrase again:“: Bestätige das Passwort.

Hinweis: Es wird empfohlen, eine Passphrase zu verwenden. Wenn Du sie leer lässt (einfach Enter drückst), ist der Login bequemer, aber auch unsicherer, falls Dein Computer kompromittiert wird.

Danach hat das Tool zwei Dateien in Deinem (versteckten) .ssh-Ordner erstellt:

  • id_rsa (Dein geheimer privater Schlüssel)
  • id_rsa.pub (Dein öffentlicher Schlüssel, den wir gleich auf den Server kopieren)

Für Windows (mit PuTTYgen)

Windows 10/11 hat inzwischen auch einen OpenSSH-Client, aber der gängigste Weg (und oft einfacher für Anfänger) ist die Nutzung von PuTTY und PuTTYgen.

  1. Lade Dir PuTTYgen herunter (es ist oft im PuTTY-Download-Paket enthalten).
  2. Starte PuTTYgen.
  3. Stelle sicher, dass unten „RSA“ und „4096“ Bit ausgewählt sind.
  4. Klicke auf „Generate“.
  5. Du musst nun die Maus wild über den leeren Bereich bewegen. Das hilft dem Programm, echte Zufallswerte für Deinen Schlüssel zu sammeln.
  6. Sobald der Balken voll ist, ist der Schlüssel erstellt.
  7. Trage optional (aber empfohlen!) eine „Key passphrase“ ein.
  8. Klicke auf „Save private key“. Speichere ihn an einem sicheren Ort (z.B. in Deinem Benutzerordner) als id_rsa.ppk. (Das .ppk-Format braucht PuTTY).
  9. Kopiere den gesamten Text aus dem Feld „Public key for pasting…“ in eine Textdatei und speichere sie als id_rsa.pub. Diesen Text brauchen wir gleich für den Server.

Schritt 2: Den öffentlichen Schlüssel auf Deinen Server kopieren

Jetzt müssen wir dem Server Deinen öffentlichen Schlüssel (das „Schloss“) bekannt machen.

Dafür musst Du Dich ein letztes Mal mit Deinem alten Passwort auf dem Server anmelden. Ersetze benutzer und dein_server_ip mit Deinen echten Zugangsdaten (z.B. root und 123.45.67.89).

Methode 1: Der einfache Weg (ssh-copy-id)

Wenn Du Mac oder Linux nutzt, gibt es einen genial einfachen Befehl:

ssh-copy-id benutzer@dein_server_ip

Das war’s. Das Tool loggt sich per Passwort ein, findet die richtige Datei auf dem Server (die ~/.ssh/authorized_keys), kopiert Deinen .pub-Key hinein und setzt die Berechtigungen richtig.

Methode 2: Manuelles Kopieren (Für Windows/PuTTY oder wenn Methode 1 fehlschlägt)

Wenn Du ssh-copy-id nicht hast (z.B. unter Windows), machen wir es von Hand.

  1. Logge Dich wie gewohnt per SSH (mit PuTTY oder im Terminal) und Deinem Passwort auf dem Server ein: ssh benutzer@dein_server_ip
  2. Erstelle auf dem Server den .ssh-Ordner (falls er nicht existiert) und sichere ihn ab: mkdir -p ~/.ssh chmod 700 ~/.ssh
    • mkdir -p erstellt den Ordner nur, wenn er fehlt.
    • chmod 700 stellt sicher, dass nur Du (der Besitzer) den Ordner lesen, schreiben und betreten darfst.
  3. Öffne die Datei, in der die Schlüssel gespeichert werden, mit einem Texteditor (z.B. nano): nano ~/.ssh/authorized_keys
  4. Jetzt kopiere den Inhalt Deines öffentlichen Schlüssels (die id_rsa.pub-Datei von Deinem lokalen PC oder den Text aus PuTTYgen) und füge ihn in das nano-Fenster ein.
  5. Speichere die Datei in nano mit Strg + O (speichern), Enter (bestätigen) und Strg + X (beenden).
  6. Setze die Berechtigungen für die Datei (sehr wichtig!): chmod 600 ~/.ssh/authorized_keys
    • chmod 600 stellt sicher, dass nur Du die Datei lesen und schreiben darfst. Wenn die Rechte zu offen sind, ignoriert SSH den Key aus Sicherheitsgründen.

Schritt 3: Den SSH-Key-Login testen

Der Moment der Wahrheit.

  1. Logge Dich von Deinem Server aus (falls Du noch verbunden bist): exit
  2. Versuche nun, Dich erneut zu verbinden: ssh benutzer@dein_server_ip

Wenn alles geklappt hat, sollte der Server nicht mehr nach Deinem Server-Passwort fragen.

*Falls Du in Schritt 1 eine Passphrase für Deinen Schlüssel vergeben hast, wird Dein *lokaler* Computer Dich jetzt nach dieser Passphrase fragen, um den privaten Schlüssel zu entsperren.*

Windows Powershell mit eingabe des benötigten SSH Commands

Schritt 4 (WICHTIG): Passwort-Login deaktivieren

Dein Key-Login funktioniert? Super! Aber im Moment ist die Haustür (Server) noch doppelt gesichert: mit Deinem neuen Super-Schloss (Key) UND dem alten Zahlencode (Passwort). Ein Angreifer könnte also immer noch versuchen, das Passwort zu erraten.

Das schalten wir jetzt ab.

WARNUNG: TUE DIES NIEMALS, BEVOR DU GETESTET HAST, DASS DER KEY-LOGIN 100% FUNKTIONIERT!
Sonst sperrst Du Dich selbst aus und musst Deinen Hoster umständlich um Rettung bitten.

  1. Logge Dich (mit Deinem Key) auf dem Server ein.
  2. Bearbeite die SSH-Konfigurationsdatei. Wir brauchen sudo, da dies eine Systemdatei ist: sudo nano /etc/ssh/sshd_config
  3. Suche in der Datei nach der Zeile PasswordAuthentication. Sie ist vielleicht auskommentiert (mit einem # davor) und steht auf yes:
    #PasswordAuthentication yes
  4. Ändere diese Zeile zu:
    PasswordAuthentication no
    (Entferne das # am Anfang und ändere yes zu no).
  5. Speichere die Datei (Strg + O, Enter, Strg + X).
  6. Starte den SSH-Dienst neu, damit er die Änderung lädt: sudo systemctl restart sshd (Auf älteren Systemen vielleicht: sudo service ssh restart)

Dein Server akzeptiert ab sofort keine Passwort-Logins mehr, sondern nur noch Deinen sicheren SSH-Key.

Willkommen im sicheren Server-Management

Glückwunsch! Du hast einen riesigen Schritt für Deine Server-Sicherheit gemacht. Du musst Dir keine komplizierten Passwörter mehr merken und bist vor den meisten automatisierten Login-Angriffen (Brute-Force) geschützt.

Es mag beim ersten Mal wie viel Aufwand wirken, aber wenn Du es einmal eingerichtet hast, ist der SSH-Key-Login nicht nur sicherer, sondern auch viel komfortabler.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert