Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

Modul 2 · 2.1

SSH-Schlüssel erstellen und verwenden

Modul 2: SSH und Schlüssel · Lesezeit: 10 Minuten

Lernziel: Nach dieser Lektion können Sie ein Schlüsselpaar erstellen, den öffentlichen Schlüssel auf Ihren Server legen, sich ohne Passwort anmelden und Ihren privaten Schlüssel so aufbewahren, dass ein verlorener Laptop keine Katastrophe wird.

Kernbegriffe: Schlüsselpaar, öffentlicher Schlüssel, privater Schlüssel, ed25519, RSA, Passphrase, ssh-agent, ssh-copy-id, authorized_keys, Rechte 700 und 600, ein Schlüssel pro Gerät, FIDO2-Schlüssel

Warum Schlüssel besser sind als Passwörter

In Lektion 1.3 haben Sie sich mit einem Passwort angemeldet. Das funktioniert, aber ein Server im Internet bekommt ab der ersten Minute Besuch von Programmen, die Passwörter erraten. Sehen Sie sich einmal das Log eines frischen Servers an:

root@web1:~# journalctl -u ssh --since "1 hour ago" | grep -c "Failed password"
214

Hunderte Versuche pro Stunde sind normal. Ein starkes Passwort hält sie auf, aber Sie haben eine Schwachstelle geschaffen, die Sie nicht brauchen. Mit einem SSH-Schlüssel ist Raten sinnlos: Es gibt nichts zu erraten, das in einer Wortliste steht.

Ein Schlüssel besteht aus zwei zusammengehörigen Teilen, einem Schlüsselpaar:

  • Der private Schlüssel bleibt auf Ihrem eigenen Computer. Wer diese Datei hat (und die Passphrase kennt), kann sich anmelden. Geben Sie ihn niemandem, auch nicht Ihrem Anbieter oder einem Helpdesk.
  • Den öffentlichen Schlüssel geben Sie dem Server. Den darf jeder sehen: Man kann sich damit nicht anmelden, sondern nur prüfen.

Bei der Anmeldung wird kein Passwort über die Leitung geschickt. Ihr Computer beweist mit einer Signatur, dass er den privaten Schlüssel besitzt, und der Server prüft diese Signatur mit dem öffentlichen Schlüssel. Selbst wenn jemand im Netzwerk mitliest, sieht er nichts, was er später wiederverwenden kann.

Einen Schlüssel erstellen

Sie erstellen den Schlüssel auf Ihrem eigenen Computer, nicht auf dem Server. Unter Windows 10 und 11, macOS und Linux ist ssh-keygen bereits enthalten. Öffnen Sie PowerShell oder das Terminal:

anna@laptop:~$ ssh-keygen -t ed25519 -C "anna@laptop 2026"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/anna/.ssh/id_ed25519):
Enter passphrase for "/home/anna/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/anna/.ssh/id_ed25519
Your public key has been saved in /home/anna/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026

Was passiert hier?

  • -t ed25519 wählt den Typ. Ed25519 ist kurz, schnell und sicher und seit OpenSSH 9.5 auch der Standardtyp, wenn Sie nichts angeben. Müssen Sie ein altes System bedienen, das ed25519 nicht kennt, nehmen Sie RSA mit mindestens 3072 Bit: ssh-keygen -t rsa -b 4096. Ältere Typen wie DSA wurden aus OpenSSH entfernt; verwenden Sie sie nicht.
  • -C ist nur ein Kommentar. Tragen Sie etwas ein, woran Sie später erkennen, von welchem Gerät der Schlüssel stammt. Das hilft enorm, wenn Sie einen Schlüssel widerrufen müssen.
  • Die Passphrase verschlüsselt den privaten Schlüssel auf Ihrer Festplatte. Wird Ihr Laptop gestohlen, hat der Dieb eine verschlüsselte Datei. Ohne Passphrase hat er sofort Zugriff auf alle Ihre Server.

Sie haben jetzt zwei Dateien:

DateiWasWeitergeben?
~/.ssh/id_ed25519Privater SchlüsselNiemals
~/.ssh/id_ed25519.pubÖffentlicher Schlüssel, eine Zeile TextJa, an den Server

Unter Windows liegen sie in C:\Users\anna\.ssh\. Der öffentliche Schlüssel ist eine Zeile, die mit ssh-ed25519 beginnt:

anna@laptop:~$ cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHk2... anna@laptop 2026

Den öffentlichen Schlüssel auf den Server legen

Der Server sucht öffentliche Schlüssel in der Datei ~/.ssh/authorized_keys des Benutzers, mit dem Sie sich anmelden. Jede Zeile ist ein Schlüssel. Es gibt drei Wege, Ihren Schlüssel dorthin zu bringen:

1. Bei der Installation. Die meisten Anbieter haben beim Anlegen oder Neuinstallieren eines VPS ein Feld für Ihren öffentlichen Schlüssel. Bei WebOké heißt dieses Feld "SSH-Schlüssel" in der VPS-Ansicht; bei anderen Anbietern funktioniert es ähnlich. Das ist der beste Weg: Dann muss nie ein Passwort aktiviert sein.

2. Mit ssh-copy-id (macOS und Linux), solange die Passwortanmeldung noch funktioniert:

anna@laptop:~$ ssh-copy-id anna@192.0.2.10
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed
anna@192.0.2.10's password:
Number of key(s) added: 1

3. Von Hand, zum Beispiel unter Windows oder über die Konsole Ihres Anbieters. Fügen Sie die Zeile aus Ihrer .pub-Datei in authorized_keys ein und setzen Sie die Rechte richtig:

anna@web1:~$ mkdir -p ~/.ssh
anna@web1:~$ nano ~/.ssh/authorized_keys
anna@web1:~$ chmod 700 ~/.ssh
anna@web1:~$ chmod 600 ~/.ssh/authorized_keys

Diese Rechte sind kein Detail. Der SSH-Server prüft sie (die Einstellung StrictModes ist standardmäßig aktiv): Wenn andere in Ihren .ssh-Ordner oder Ihr Home-Verzeichnis schreiben dürfen, ignoriert er Ihre Schlüssel. Sie sehen dann einfach wieder eine Passwortabfrage, ohne eindeutige Fehlermeldung. Wie Sie Rechte lesen, lernen Sie in Lektion 3.1.

Testen Sie danach in einem neuen Fenster:

anna@laptop:~$ ssh anna@192.0.2.10
Enter passphrase for key '/home/anna/.ssh/id_ed25519':
anna@web1:~$

Die Abfrage kommt jetzt von Ihrem eigenen Computer (die Passphrase Ihres Schlüssels), nicht mehr vom Server.

ssh-agent: einmal entsperren

Jedes Mal eine Passphrase einzutippen ist mühsam. Der ssh-agent hält Ihren entsperrten Schlüssel im Arbeitsspeicher, solange Sie an Ihrem Computer angemeldet sind:

anna@laptop:~$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/anna/.ssh/id_ed25519:
Identity added: /home/anna/.ssh/id_ed25519 (anna@laptop 2026)
anna@laptop:~$ ssh-add -l
256 SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026 (ED25519)

Unter macOS ist der Agent mit dem Schlüsselbund verknüpft, unter Windows ist es der Dienst "OpenSSH Authentication Agent" (einmalig unter Dienste aktivieren). So haben Sie den Komfort ohne Passwort und trotzdem einen verschlüsselten Schlüssel auf der Festplatte.

Vorsicht bei Agent Forwarding (ssh -A): Damit darf der Server, an dem Sie sich anmelden, Ihren Agent verwenden. Wer auf diesem Server root ist, kann dann mit Ihrem Schlüssel weitermachen. Verwenden Sie es nur auf Servern, denen Sie vollständig vertrauen, oder verwenden Sie ProxyJump (Lektion 2.3).

Ein Schlüssel pro Gerät, und wissen, welche wo liegen

Ein häufiger Fehler: einen privaten Schlüssel auf Laptop, PC und Telefon kopieren. Verlieren Sie ein Gerät, müssen Sie den Schlüssel überall ersetzen und alle Geräte neu einrichten. Besser:

  • Erstellen Sie auf jedem Gerät einen eigenen Schlüssel mit einem eindeutigen Kommentar (-C "anna@telefoon");
  • tragen Sie alle öffentlichen Schlüssel in authorized_keys ein, einen pro Zeile;
  • verlieren Sie ein Gerät, entfernen Sie nur diese eine Zeile.

Prüfen Sie regelmäßig, welche Schlüssel Zugang haben:

anna@web1:~$ ssh-keygen -lf ~/.ssh/authorized_keys
256 SHA256:q3J8vX0bT2kPz9mWc1nR4sLh7uYdE5aF6gBiC0oN2xQ anna@laptop 2026 (ED25519)
256 SHA256:Zt5oP1yW8eQ3rK6sV0bN9mD2xA4cH7jL1uI5fG8tE3w anna@telefoon (ED25519)

Ist ein Schlüssel dabei, den Sie nicht kennen, ist das ein Alarmsignal (Lektion 10.3). Eindringlinge legen gern ihren eigenen Schlüssel in authorized_keys ab, um später wiederzukommen.

Ein Hardware-Schlüssel (FIDO2, etwa ein YubiKey) ist ebenfalls möglich. Mit ssh-keygen -t ed25519-sk liegt der geheime Teil auf dem Schlüssel selbst, und Sie müssen ihn bei jeder Verwendung berühren. Eine gestohlene Datei ist dann wertlos. Das ist ein schöner nächster Schritt, für den Anfang aber nicht nötig.

Privaten Schlüssel verloren?

Verlieren Sie Ihren einzigen privaten Schlüssel und ist die Passwortanmeldung deaktiviert, kommen Sie per SSH nicht mehr hinein. Deshalb:

  • Legen Sie immer mindestens zwei Schlüssel auf den Server (zum Beispiel Laptop und PC);
  • wissen Sie, wie die Konsole Ihres Anbieters funktioniert (Lektion 1.2). Dort melden Sie sich an, als hätten Sie eine Tastatur direkt am Server, und das funktioniert auch ohne SSH. Bei WebOké heißt das Konsole in der VPS-Ansicht; andere Anbieter nennen es VNC-Konsole, Webkonsole oder Notfallkonsole.

Unter AlmaLinux und Rocky Linux

Alles in dieser Lektion funktioniert genauso. Eine zusätzliche Falle: Mit aktivem SELinux muss ~/.ssh das richtige Sicherheitslabel haben. Haben Sie den Ordner von Hand angelegt oder kopiert und wird Ihr Schlüssel ignoriert, behebt restorecon -Rv ~/.ssh das.

Zusammenfassung

  • Ein Schlüsselpaar besteht aus einem privaten Schlüssel (bleibt bei Ihnen) und einem öffentlichen Schlüssel (kommt auf den Server, in ~/.ssh/authorized_keys).
  • Erstellen Sie Schlüssel mit ssh-keygen -t ed25519 auf Ihrem eigenen Computer, mit einer Passphrase; verwenden Sie ssh-agent für den Komfort.
  • Rechte zählen: ~/.ssh auf 700 und authorized_keys auf 600, sonst ignoriert der Server Ihren Schlüssel.
  • Ein Schlüssel pro Gerät, mit eindeutigem Kommentar, damit Sie einen einzelnen widerrufen können.
  • Sorgen Sie für einen zweiten Schlüssel und kennen Sie die Konsole Ihres Anbieters als Notzugang.

Quiz

1. Welche Datei dürfen Sie Ihrem Anbieter oder einem Kollegen geben, damit Sie Zugang zu einem Server erhalten?



2. Sie haben Ihren Schlüssel in authorized_keys eingetragen, aber der Server fragt immer noch nach einem Passwort. Was ist eine häufige Ursache?



3. Warum versehen Sie Ihren privaten Schlüssel mit einer Passphrase?



4. Ihr Laptop wurde gestohlen. Auf dem Server liegen drei Schlüssel: Laptop, PC und Telefon, jeweils mit eigenem Kommentar. Was tun Sie?



5. Was ist das Risiko von ssh -A (Agent Forwarding) zu einem Server, dem Sie nicht vertrauen?



Aufgabe

Aufgabe O2.1: Einen Schlüssel erstellen und verwenden. Erstellen Sie auf Ihrem eigenen Computer einen ed25519-Schlüssel mit einer Passphrase und einem eindeutigen Kommentar, legen Sie ihn auf Ihren Server (über das Feld Ihres Anbieters, ssh-copy-id oder von Hand), prüfen Sie die Rechte und melden Sie sich in einem neuen Fenster mit dem Schlüssel an. Tragen Sie danach den Fingerabdruck Ihres Schlüssels ein (aus ssh-keygen -lf ~/.ssh/id_ed25519.pub) und beantworten Sie die Fragen dazu, wo Ihr privater Schlüssel liegt und was Sie tun, wenn Sie ihn verlieren. Das Programm prüft nur, ob der Fingerabdruck das richtige Format hat; den Rest erledigen Sie selbst.

Aufgabe O2.1: Einen Schlüssel erstellen und verwenden

Diese Aufgabe machen Sie selbst; niemand prüft sie nach. Haken Sie ab, was Sie erledigt haben, und markieren Sie die Aufgabe als erledigt.




Ihre Haken und Notizen bleiben nur in diesem Browser; wir senden sie nirgendwohin. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe erledigt haben.

Weiterführende Informationen

Die Schritte in diesen Artikeln gelten für die VPS-Ansicht und die Panels von WebOké; bei anderen Anbietern funktioniert es ähnlich.

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…