SSH-Key mit PuTTY unter Windows verwenden

Der SSH-Client PuTTY für Windows verwendet nicht das gleiche Schlüsselformat wie der OpenSSH-Client. Wollen Sie PuTTY verwenden, müssen Sie einen neuen öffentlichen und privaten SSH-Key generieren oder einen vorhandenen privaten OpenSSH-Key konvertieren.

SSH (Secure Shell) kann Clients sowohl durch eine Kombination aus Benutzernamen und Kennwort oder durch ein Schlüsselpaar, bestehend aus einem öffentlichen und einem privaten Schlüssel, authentifizieren. Bei dieser zuverlässigen und sicheren Methode wird der öffentliche Schlüssel mit seinem privaten Gegenstück abgeglichen. Die Eingabe eines Passworts ist zur Authentifizierung nicht weiter erforderlich. Als zusätzliche Sicherheitsmaßnahme kann der private SSH-Key optional mit einer Passphrase verschlüsselt werden.

Voraussetzungen

  • PuTTY SSH-Client für Microsoft Windows
  • Remote Server mit OpenSSH-Zugang

PuTTY und PuTTYgen installieren

Um einen OpenSSH-Key unter Windows zu konvertieren und anschließend eine Verbindung zu einem Server über SSH herstellen zu können, benötigen Sie den PuTTY-Client und das dazugehörige Tool PuTTYgen. Beide Tools können als Windows-Installationsprogramm von der PuTTY Download-Website heruntergeladen werden.

Sobald das PuTTY-Windows-Installationsprogramm heruntergeladen ist, doppelklicken Sie auf die ausführbare Datei im Download-Ordner und folgen den Anweisungen des Installationsassistenten. Die Standardeinstellungen sind dabei für die meisten Installationen geeignet. Sowohl PuTTY als auch PuTTYgen sollten danach in der Windows-Programmliste zu finden sein.

Bereits vorhandene öffentliche und private Keys verwenden

Falls Sie bereits einen öffentlichen und privaten OpenSSH-Key besitzen, kopieren Sie den privaten Schlüssel, der die Bezeichnung „id_rsa“ trägt, auf Ihren Windows-Desktop. Dazu können Sie den Inhalt der Datei kopieren und einfügen oder einen SCP-Client wie PSCP, der bei der Installation von PuTTY mitgeliefert wird, bzw. FileZilla verwenden.

Starten Sie anschließend PuTTYgen aus der Liste der Windows-Programme.

  1. Klicken Sie im Menü des PuTTY Key Generator auf „Conversions“ und wählen Sie „Import key“.
  2. Navigieren Sie zum privaten OpenSSH-Schlüssel und klicken Sie auf „Open“.
  3. Wählen Sie unter „Actions“ und „Save the generated key“ die Option „Save private key“.
  4. Wählen Sie eine optionale Passphrase zum Schutz des privaten Schlüssels.
  5. Speichern Sie den privaten Schlüssel auf dem Desktop unter „id_rsa.ppk“.
PuTTY Key Generator
Mit dem PuTTY Key Generator lassen sich bereits vorhandene OpenSSH-Keys verwenden.

Falls der öffentliche Schlüssel bereits an die Datei „authorized keys“ auf dem jeweiligen SSH-Server angehängt ist, fahren Sie mit Verbindung zum Server mit Ihrem privaten Schlüssel fort. Ist dies nicht der Fall, müssen Sie den öffentlichen Schlüssel zunächst auf den Server kopieren.

Neue öffentliche und private SSH-Keys mit PuTTY erstellen

Starten Sie PuTTYgen aus der Liste der Windows-Programme und führen Sie die folgenden Schritte aus:

  1. Erhöhen Sie unter „Parameter“ und „Number of bits in a generated key“ die Anzahl der Bits auf einen Mindestwert von 2048.
  2. Klicken Sie unter „Actions“ / „Generate a public/private key pair“ auf „Generate“.
  3. Sie werden angewiesen, den Mauszeiger im Fenster des PuTTY-Schlüsselgenerators als Zufallsgenerator zu bewegen, um den privaten Schlüssel zu erzeugen.
  4. Sobald die Schlüsselinformationen angezeigt werden, klicken Sie unter „Actions“ auf „Save the generated key“.
  5. Speichern Sie den privaten Schlüssel auf dem Desktop als „id_rsa.ppk“.
  6. Das Feld unter „Key“ bzw. „Public key for pasting into OpenSSH authorized_keys file:“ enthält den öffentlichen Schlüssel.
PuTTYgen
Mit dem Tool PuTTYgen lassen sich neue private und öffentliche Keys generieren.

Öffentlichen Keys auf Server kopieren

Der öffentliche OpenSSH-Key befindet sich im Feld „Key“ unter „Public key for pasting info OpenSSH authorized_keys file:“. Der öffentliche Schlüssel beginnt mit der Bezeichnung „ssh-rsa“ , gefolgt von einer Zeichenkette.

  1. Markieren Sie den gesamten öffentlichen Key im PuTTY Key Generator und kopieren Sie den Text.
  2. Starten Sie PuTTY und melden Sie sich mit Ihren Benutzerdaten beim jeweiligen Remote-Server an.
  3. Verwenden Sie Ihren bevorzugten Texteditor, um die authorized_keys-Datei zu erstellen und/oder zu öffnen:

vi ~/.ssh/authorized\_keys
  1. Fügen Sie den kopierten öffentlichen Schlüssel in die Datei authorized_keys ein.

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBp2eUlwvehXTD3xc7jek3y41n9fO0A+TyLqfd5ZAvuqrwNcR2K7UXPVVkFmTZBes3PNnab4UkbFCki23tP6jLzJx/MufHypXprSYF3x4RFh0ZoGtRkr/J8DBKE8UiZIPUeud0bQOXztvP+pVXT+HfSnLdN62lXTxLUp9EBZhe3Eb/5nwFaKNpFg1r5NLIpREU2H6fIepi9z28rbEjDj71Z+GOKDXqYWacpbzyIzcYVrsFq8uqOIEh7QAkR9H0k4lRhKNlIANyGADCMisGWwmIiPJUIRtWkrQjUOvQgrQjtPcofuxKaWaF5NqwKCc5FDVzsysaL5IM9/gij8837QN7z rsa-key-20141103
  1. Speichern Sie die Datei und schließen Sie den Texteditor.
  2. Passen Sie die Berechtigungen der authorized_keys-Datei so an, dass die Datei keine Gruppen-Schreibrechte gewährt.

chmod 600 ~/.ssh/authorized\_keys
  1. Danach melden Sie sich vom Remote-Server ab.

Serververbindung mit privatem Key

Nun können Sie testen, ob die SSH-Schlüsselauthentifizierung funktioniert. Dazu kann PuTTYgen geschlossen und der PuTTY-Client erneut gestartet werden.

  1. Geben Sie unter „Session“ den Hostnamen oder die IP-Adresse des jeweiligen Remote-Servers ein.
  2. Navigieren Sie zu „Connection“ > „SSH“ > „Auth“.
  3. Klicken Sie auf „Browse…“ unter „Authentication parameters“ / „Private key file for authentication“.
  4. Suchen Sie den privaten Schlüssel „id_rsa.ppk“ und klicken Sie auf „Open“.
  5. Klicken Sie abschließend erneut auf „Open“, um sich mit der Schlüsselpaar-Authentifizierung beim Remote-Server anzumelden.
Serververbindung mit privatem Key
Mit dem SSH-Client PuTTY lässt sich im Anschluss testen, ob die Schlüsselauthentifizierung funktioniert.