puttygen – Schlüsselpaare erzeugen

Um SSH möglichst sicher zu gestalten, brauchen wir die Authentifizierung über Schlüsselpaare, damit wir die ’normale‘ Passwort-Authentifikation baldmöglichst ausschalten können. Die Schlüsselpaare müssen wir aber vorher erzeugen, um einen Teil davon später auf den Server zu kopieren und uns mit dem anderen Teil daran anzumelden.

Vom Macher von PuTTY gibt es dazu auch ein großartiges Tool, mit dem wir RSA-Schlüsselpaare erzeugen werden. In diesem Tutorial gehen wir die einzelnen Schritte dafür durch.

Lass uns ein paar Schlüssel machen!

Das „Private Key“ Verfahren steigert die Sicherheit von SSH enorm.
Mit puttygen bauen wir die dazu benötigten Schlüsselpaare!

puttygen laden und starten

Über die Download-Adresse von PuTTY laden wir puttygen herunter, falls Du nicht schon im Zuge des PuTTY-Tutorials das ganze Paket geladen hast.

puttygen-0puttygen speichern wir wieder direkt ins Programme-Verzeichnis und/oder das TrueCrypt-Laufwerk. Wie PuTTY brauchen wir das Programm nicht installieren, sondern es ist direkt durch den Start von puttygen.exe lauffähig. Also machen wir das :)

 

puttygen vorbereiten

puttygen-1Willkommen beim „PuTTY Key Generator“!

Bevor wir die ersten Schlüsselpaare erzeugen, müssen wir im Programm zwei Einstellungen vornehmen und uns entscheiden, ob wir den Schlüssel nach der Erzeugung zusätzlich mit einem Passwort sichern wollen:

  • Type of Key to generate:“ (1)
    Wir erzeugen ausschließlich „SSH-2 RSA“ Schlüssel. DSA ist auf 1024 Bit begrenzt. Und 1024 Bit gelten mittlerweile als knackbar.
  • Ganz unten steht „Number of Bits in a generated Key:“ (2). Wir möchten minimal 4096 Bit, um halbwegs sichere Schlüssel zu generieren.

Schlüsselpaare mit oder ohne zusätzlichem Passwort?
Wir können die Schlüssel zusätzlich mit einem Passwort ausstatten, um die Sicherheit noch einmal zu erhöhen. Gerät ein Schlüssel ohne PW in die Hand des Feindes, kann er sich damit ohne weitere Schranken am Server anmelden (genau als wenn normalerweise ein Passwort in die falschen Hände gerät!). Darum kann man die Schlüssel zusätzlich noch mit einem Passwort ausstatten. Stiehlt jemand diese Schlüsseldatei, kann derjenige ohne das dazugehörige Passwort trotzdem nicht in den Server einbrechen.

Je nach Anwendungsfall machen aber auch Schlüssel ohne Passwort Sinn – zum Beispiel für eine automatische Anmeldung zwischen zwei Servern.

Lässt man die beiden Zeilen „Key passphrase“ und „Confirm passphrase“ leer, speichert man den Schlüssel ohne Passwort.
Trägt man zwei Mal das selbe Passwort ein, ist der Schlüssel nur gültig, wenn das richtige Passwort dazu eingegeben wird.

Genau wie bei TrueCrypt sollte das Passwort zu den Schlüsseln 64 Zeichen lang sein und die komplette Palette aus Groß-, Kleinschreibung, Zahlen und Sonderzeichen enthalten. Das Passwort wird dann zusammen mit dem öffentlichen Schlüsselteil als „sichere Notiz“ auf LastPass abgelegt, im Texteditor eingefügt und ausgedruckt OHNE ZU SPEICHERN. Der Ausdruck wird anschließend sicher verwahrt – vornehmlich in einem Bankschließfach!

Mit puttygen arbeiten – Schlüssel erzeugen

Einstellungen getroffen? Dann generieren wir ein Schlüsselpaar!

puttygen-2Wir drücken auf die Schaltfläche „Generate“.
puttygen möchte nun, dass wir die Maus möglichst zufällig über die Programmoberfläche bewegen. Ich mache da immer einige große und dann recht kleine Kreise gefolgt von Zick-Zack, da sollte die ‚Randomness‘ gewahrt sein. Ein Fortschrittsbalken zeigt an, wie lange man die Maus noch bewegen soll.

 

puttygen-3Ist das geschafft, wird der Schlüssel generiert.

  • Einen Schlüssel mit 1024 Bit (1k) rechnet der Computer in einer Sekunde aus.
  • Bei einem 4096 Bit (4k) Schlüssel ist das in runden 20 Sekunden passiert.
  • Ein 8192 Bit (8k) Schlüssel dauert hingegen schon gute 8 Minuten (!), bis er erzeugt ist!

Du kannst Dir jetzt leicht vorstellen, wie hier die Schwierigkeit, den Schlüssel mit Gewalt zu brechen, mit seiner Länge ebenfalls exponentiell steigt…

 

puttygen-4Nach der Generierung werden einige neue Zeilen freigeschaltet und Text eingeblendet.
In die Zeile „Key comment“ (2) tragen wir zum Datum noch ein, wofür wir ihn verwenden. Also den Hostnamen des Servers und den Benutzer, den wir damit einloggen möchten. Dadurch verwechseln wir unsere Schlüssel in Zukunft nicht, wenn mal einige zusammengekommen sind.

Sehr wichtig für uns ist dann der Eintrag im Feld „Public key for pasting into OpenSSH authorized_keys file“ (1)
Das ist der öffentliche Teil – das Schloss. Dieses Feld müssen wir markieren und per Copy/Paste in eine sichere LastPass Notiz speichern. Dies kann sehr trickreich sein, gerade bei Schlüssellängen größer als 2048 Bit:
Starte am Anfang des Texts und klicke und halte die linke Maustaste. Dann markierst Du alle sichtbaren Zeilen. Mit immer noch gedrückter linker Maustaste scrollst Du nun mit dem Mausrad nach unten. Damit markierst Du den Rest der Zeilen, die nicht sichtbar waren :)

Update: Rechtsklick auf das Feld und „Alle Auswählen“ funktioniert noch besser ;)

Später ist zu beachten, dass der Schlüsselteil in einer Zeile – in genau einer Zeile – in die authorized_keys Datei eingetragen wird, da die Authentifizierung sonst nicht funktioniert. Darauf gehe ich aber in dem SSH-Kapitel vom Rootserver Tutorial noch einmal gesondert ein :)

Hier wäre die Stelle bei der Anleitung zum Absichern von SSH durch das Public Key Verfahren

Die beiden Zeilen „Key passphrase“ und „Confirm passphrase“ (3) sind nun für das Passwort da, falls wir eins benutzen möchten.

Der öffentliche Teil wird von einem Passwort nicht beeinflusst und sieht in beiden Fällen gleich aus.

Sind wir so weit durch, speichern wir den privaten Teil, den Schlüssel, mit einem Klick auf den Button „Save private Key“ (4) in den TrueCrypt-Container in das „keys“-Verzeichnis. Die Datei belassen wir auf der Endung „.ppk“ (PuTTY Private Key file) und tragen einen aussagekräftigen Namen ein. Ich wähle hier, genau wie beim Kommentar, den Hostname des Servers und den Username des Benutzers, für den der Schlüssel erzeugt wurde.

Und das war’s! Wir haben erfolgreich ein Schlüsselpaar erzeugt, mit dem wir uns per SSH an einem Linux-Server anmelden können, wenn die Schlüsselteile richtig installiert worden sind.

Fazit

Das Erstellen von Schlüsselpaaren ist wirklich kein Hexenwerk!
Nachdem man das ein paar Mal gemacht hat, geht die Erstellung schnell von der Hand und ist mit ein paar Klicks geschafft.

Safety First!
Für eine sichere SSH-Anmeldung am Server ist das Schlüssel/Schloss Verfahren unerlässlich.

Links

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Haftungsausschluss!

Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Anzeige *

Kommentar verfassen

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