Content
SSH-Schlüssel-Authentifizierung in PuTTY
Einführung
Dieses Handbuch beschreibt, wie Sie die SSH-Schlüsselauthentifizierung mit PuTTY, einem weit verbreiteten SSH-Client für Windows, einrichten. Durch die Verwendung der schlüsselbasierten Authentifizierung anstelle der passwortbasierten Authentifizierung können Sie die Sicherheit Ihrer SSH-Verbindung erhöhen. Bei der Schlüsselauthentifizierung können nur Personen mit dem entsprechenden privaten Schlüssel auf das System zugreifen, was eine sicherere und zuverlässigere Authentifizierungsmethode darstellt.
Dieses Handbuch erläutert den Prozess der Einrichtung der SSH-Schlüsselauthentifizierung mit PuTTY und einer Client-Anwendung.
Wichtiger Sicherheitshinweis: Der private Schlüssel muss streng vertraulich behandelt werden. Geben Sie ihn niemals an Dritte weiter, speichern Sie ihn nicht auf ungesicherten Geräten und verwenden Sie ein Passwort zum Schutz des Schlüssels. Falls der Schlüssel kompromittiert wird, generieren Sie sofort ein neues Schlüsselpaar und aktualisieren Sie die Datei authorized_keys
auf dem Server.
1) Generierung von Schlüsseln
PuTTYgen ist ein Werkzeug aus der PuTTY-Suite, das hauptsächlich für Windows entwickelt wurde, um SSH-Schlüsselpaare zu generieren und Schlüsselformate zu konvertieren. Seine Hauptfunktion besteht darin, Paare aus öffentlichen und privaten Schlüsseln zu erstellen, die im .ppk
-Format (spezifisch für PuTTY) gespeichert werden können. Darüber hinaus kann PuTTYgen Schlüssel in andere Formate konvertieren, um die Kompatibilität mit verschiedenen SSH-Clients und Servern wie OpenSSH zu gewährleisten.
PuTTYgen erzeugt Schlüsselpaare, die aus einem öffentlichen Schlüssel (zum Teilen) und einem privaten Schlüssel (vertraulich) bestehen. Der öffentliche Schlüssel wird zur Authentifizierung bei der Verbindung mit entfernten Servern verwendet.
Das .ppk
-Format ist spezifisch für PuTTY, aber PuTTYgen kann Schlüssel in andere Formate, wie OpenSSH, konvertieren.
Alternative: Generierung von Schlüsseln mit PuTTYgen
Sie können Schlüssel direkt in PuTTYgen auf einem Windows-Rechner ohne Linux-Server generieren. Gehen Sie dazu wie folgt vor:
- Öffnen Sie PuTTYgen.
- Wählen Sie den Schlüsseltyp (z. B. RSA oder EdDSA) und die Größe (empfohlen: 2048 Bit oder mehr).
- Klicken Sie auf Generate und bewegen Sie die Maus, um Entropie zu erzeugen.
- Speichern Sie den öffentlichen Schlüssel (kopieren Sie den Text aus dem Feld „Public key for pasting into OpenSSH authorized_keys file“) und den privaten Schlüssel als
.ppk
-Datei. - Fügen Sie den öffentlichen Schlüssel der Datei
~/.ssh/authorized_keys
auf dem Server hinzu (siehe unten).
In diesem Handbuch konzentrieren wir uns jedoch auf die Generierung von Schlüsseln auf einem Linux-Server mit ssh-keygen
und deren anschließende Konvertierung für PuTTY.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass folgende Komponenten vorhanden sind:
- PuTTY und PuTTYgen — Laden Sie diese von der offiziellen Website herunter. PuTTYgen ist Teil der PuTTY-Suite.
- Linux-Server mit installiertem OpenSSH (in den meisten Distributionen vorinstalliert).
- SSH-Zugriff auf den Server mit einem Passwort (für die Ersteinrichtung der Schlüssel).
- Optional: Ein Passwort zum Schutz der Schlüssel (empfohlen für zusätzliche Sicherheit).
Überprüfung der Serverkonfiguration
Stellen Sie vor der Schlüsselgenerierung sicher, dass die Schlüsselauthentifizierung auf dem Server aktiviert ist. Öffnen Sie die Datei /etc/ssh/sshd_config
(mit Root-Rechten):
sudo nano /etc/ssh/sshd_config
Vergewissern Sie sich, dass die Zeile PubkeyAuthentication yes
vorhanden ist und nicht auskommentiert wurde. Speichern Sie die Datei nach Änderungen und starten Sie den SSH-Dienst neu:
sudo systemctl restart sshd
(In einigen Distributionen: sudo service ssh restart
.)
Schritt-für-Schritt-Anleitung zur Schlüsselgenerierung in Linux
Verbinden Sie sich per SSH mit einem Passwort mit dem Server (mit PuTTY oder einem anderen Client) und führen Sie die folgenden Schritte als der Benutzer aus, unter dem Sie sich authentifizieren möchten (aus Sicherheitsgründen vorzugsweise nicht root; verwenden Sie bei Bedarf sudo
).
Starten Sie das ssh-keygen
-Tool. Es fordert Sie auf, den Speicherort für die Schlüssel anzugeben (Standard: ~/.ssh/id_rsa
) und ein Passwort festzulegen (empfohlen für zusätzliche Sicherheit; drücken Sie Enter, um dies zu überspringen).
ssh-keygen -t rsa -b 2048
(Optional: Verwenden Sie -t ed25519
für einen moderneren Algorithmus.)
Im Verzeichnis ~/.ssh
befinden sich nun zwei Dateien:
id_rsa
— der private Schlüssel.id_rsa.pub
— der öffentliche Schlüssel.
Überprüfen Sie die Schlüssel (optional, zur Verifikation):
cat ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub
Wechseln Sie in das Verzeichnis ~/.ssh
(falls noch nicht geschehen):
cd ~/.ssh
Fügen Sie den öffentlichen Schlüssel der Datei authorized_keys
hinzu (verwenden Sie >>
, um vorhandene Inhalte nicht zu überschreiben):
cat id_rsa.pub >> authorized_keys
Legen Sie die korrekten Berechtigungen fest (entscheidend für die SSH-Funktionalität):
chmod 700 ~/.ssh
chmod 600 id_rsa
chmod 600 authorized_keys
Nach diesen Schritten ist der Server bereit, schlüsselbasierte Verbindungen zu akzeptieren. Starten Sie den SSH-Dienst neu, falls Sie die Konfiguration geändert haben:
sudo systemctl restart sshd
2) Konvertierung des Schlüssels und Authentifizierung mit PuTTY
Übertragen Sie nun den privaten Schlüssel (id_rsa
) vom Server auf Ihren lokalen Windows-Rechner und konvertieren Sie ihn in das .ppk
-Format für PuTTY.
Übertragung des Schlüssels auf den lokalen Rechner
Verwenden Sie scp
(aus der PuTTY-Suite — pscp.exe
) oder eine andere sichere Methode. Beispiel mit pscp
(ausführen in der Windows-Eingabeaufforderung):
pscp user@server_ip:~/.ssh/id_rsa C:\path\to\local\id_rsa
(Ersetzen Sie user@server_ip
durch Ihre Daten und C:\path\to\local
durch den lokalen Pfad.)
Warnung: Übertragen Sie den Schlüssel niemals über unsichere Kanäle (z. B. E-Mail). Verwenden Sie verschlüsselte Methoden.
Konvertierung in das .ppk-Format mit PuTTYgen
Öffnen Sie PuTTYgen auf Windows.

Klicken Sie auf Load und wählen Sie die Datei id_rsa
aus (PuTTYgen unterstützt das OpenSSH-Format).

Falls der Schlüssel durch ein Passwort geschützt ist, geben Sie dieses ein.

Klicken Sie nach dem Laden auf Save private key und speichern Sie die Datei als .ppk
-Datei (z. B. mykey.ppk
). Stimmen Sie dem Speichern ohne Passwort zu, wenn Sie kein zusätzliches Passwort verwenden möchten (ein Passwort wird jedoch empfohlen).
Konfiguration von PuTTY für die Verwendung des Schlüssels
Öffnen Sie PuTTY.
Geben Sie im Hauptfenster die IP-Adresse des Servers, den Port (üblicherweise 22) und den Verbindungstyp SSH ein.
Navigieren Sie zu Connection → SSH → Auth → Credentials.
Geben Sie im Feld Private key file for authentication den Pfad zur .ppk
-Datei an.

Optional: Für die automatische Anmeldung navigieren Sie zu Connection → Data und geben Sie den Benutzernamen (z. B. root
oder Ihren Benutzer) im Feld Auto-login username ein.
Speichern Sie die Sitzung für mehr Komfort und stellen Sie die Verbindung her.
Bei der Verbindung fordert PuTTY das Passwort für den Schlüssel an, falls dieser geschützt ist. Wenn alles korrekt eingerichtet ist, erfolgt die Anmeldung ohne Eingabe des Serverpassworts.
Tipp: Verwenden Sie PuTTY Pageant (ein Schlüsselagent aus der PuTTY-Suite) zur Verwaltung mehrerer Schlüssel. Laden Sie die .ppk
-Datei in Pageant, und PuTTY verwendet sie automatisch.
Schlussfolgerung
Durch die Einrichtung der SSH-Schlüsselauthentifizierung mit PuTTY und einem Linux-Server stellen Sie eine sicherere und zuverlässigere Verbindung her. Die Verwendung von SSH-Schlüsseln macht die Eingabe von Passwörtern überflüssig und reduziert das Risiko von Brute-Force-Angriffen und Abfangen. Befolgen Sie die in diesem Handbuch beschriebenen Schritte, um die SSH-Schlüsselauthentifizierung mit PuTTY einzurichten und die Vorteile zu nutzen.
Zusätzliche Hinweise: Aktualisieren Sie regelmäßig Ihre Schlüssel, überwachen Sie Serverprotokolle (/var/log/auth.log
) und deaktivieren Sie die Passwortauthentifizierung in sshd_config
(PasswordAuthentication no
), wenn Schlüssel die einzige Anmeldemethode sind. Überprüfen Sie bei Problemen die Dateiberechtigungen und die Serverkonfiguration.