Putty: Anmeldung über Public-Key-Authentifizierung

    Schlüssel erzeugen mit Putty Key GeneratorDie bei SSH standardmäßig aktive Passwortabfrage ist nur eine Möglichkeit der Authentifizierung. Sicherer ist die Identifikation über asymmetrische Schlüssel, die Public-Key-Authentifizierung. Bei Putty dient das Tool PuTTY Key Generator (puttygen.exe anstelle von ssh-keygen) zum Erzeugen von RSA- (Default) oder DSA-Schlüsselpaaren.

    Das Tool findet sich zwar auf der Putty-Download-Seite, hat man allerdings zuvor das vollständig Zip-Archiv herunterladen oder den exe-Installer verwendet, ist puttygen bereits im Windows-Startmenü unter Putty zu finden. Zum Erzeugen eines RSA-Schlüsselpaares genügt ein Klick auf die Schaltfläche Generate. Wer DSA- oder SSH1-RSA-Schlüssel benötigt, kann den entsprechende Typ unten im Dialog markieren.

    Schlüsselpaar erzeugen und speichern

    Für den notwendigen Zufallsfaktor sorgt man selbst, indem man während der Schlüssel-Erzeugung im freien Bereich des Dialogfensters die Maus hin- und her bewegt. Anschließend gibt man bei Key passphrase das gewünschte Schlüssel-Mantra ein.

    Zum Speichern des Public- und Private-Key auf dem Client stehen die beiden gleichnamigen Schaltflächen zur Verfügung. Das Speichern des Public Key ist nicht zwingend, weil der sich jederzeit aus dem privaten Schlüssel errechnen lässt.

    Name und Pfad sind im Windows-Dialog frei wählbar, allerdings hat sich für Putty-Schlüssel die Endung .ppk etabliert, um auf das vom Linux-Standard abweichende Format hinzuweisen. Im Menü Conversions ist es aber möglich, vorhandene OpenSSH-Keys zu importieren (bzw. Putty-Keys zu exportieren), weil Putty OpenSSH-Keys nicht akzeptiert.

    Public Key auf den Server übertragen

    Für das Übertragen des Public Keys auf den Server ist es nützlich, diesen mit der Maus im Schlüsselfeld vollständig zu markieren und mit Strg + C einfach in die Zwischenablage zu kopieren.

    Loggt man sich dann mit Hilfe von Putty noch einmal konventionell (d. h. mit Benutzername und Passwort) auf dem entfernten Server ein, kann man die dortige Datei /home/$User/.ssh/authorized_keys mit einem Editor seiner Wahl bearbeiten und den Key einfach aus der Zwischenablage einfügen, was deutlich eleganter ist, als ein manuelles Übertragen via psftp.

    Der erzeugte Public Key lässt sich am einfachsten über die Zwischenablage auf den Server übertragen.

    Private Key in Putty hinterlegen

    Um beim nächsten Login die Public-Key-Authentifizierung zu verwenden, trägt man wiederum am Client auf der Putty-Startseite im Bereich Sessions die Adresse des gewünschten Hosts ein, klickt dann im hierarchischen Category-Menü auf SSH / Auth und trägt im Feld Private key file for authentication den Dateinamen seines Private-Keys ein. Das klappt am schnellsten, indem man auf „Browse“ klickt und das entsprechende File im Dateiselektor wählt.

    Im Feld Private key file for authentication trägt man den Dateinamen seines Private Key ein.

    Selbstverständlich lassen sich die Anmeldedaten für jede einzelne Session auch als Profil speichern. Der Ablauf des Authentifizierungs-Handshakes ist dann wie folgt: Baut man eine Verbindung zum entfernten Server auf, verlangt der nach einem Beweis, dass der angegebene Benutzername einen in der dortigen Datei authorized_keys angegebenen öffentlichen Schlüssel besitzt.

    Daher fordert SSH zur Eingabe der Passphrase auf, um den in der lokalen Datei id_rsa.ppk gespeicherten privaten Schlüssels zu aktivieren. Erst wenn beide Schlüssel zusammenpassen kann der entfernte Server davon ausgehen, dass man auch derjenige ist, der den Zugang begehrt.

    Keine Kommentare