Putty: Anmeldung über Public-Key-Authentifizierung


    Tags: ,

    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, aber wenn zuvor das vollständig Zip-Archiv heruntergeladen oder den exe-Installer verwendet hat, dann 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.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Thomas Drilling
    Thomas Drilling arbeitet seit mehr als 20 Jahren selb­ständig als Redakteur und Autor für viele ehe­malige und aktuelle IT-Magazine sowie Blogs. Thomas ist zudem Buch­autor und IT-Consultant. Seit 5 Jahren ist Thomas neben seiner journa­listischen Tätig­keit haupt­beruflicher, selb­ständiger IT-Trainer für VMware und Microsoft.

    Seine Themen­schwer­punkte sind Virtua­lisierung und Cloud Com­puting, speziell VMware, Amazon Web Services, Google Cloud und Microsoft Azure. Thomas ist zerti­fi­zierter VMware Professional, Advanced Professional und wurde von VMware in den Jahren 2016, 2017, 2018, 2019 und 2020 mit dem Blogger-Status vExpert ausge­zeichnet.

    Thomas ist außerdem zertifi­zierter AWS Solu­tions Archi­tect, Sysops Engineer und Devops Engineer sowie Microsoft Certified Azure Admini­strator.

    Thomas führt aktuell jeden zwei­ten Mon­tag einen 4-tägigen Grund­lagenkurs in Cloud Computing mit AWS via Zoom-Meeting durch. Weitere Infor­mationen und Anmel­dung über sein AWS-Blog.

    Ähnliche Beiträge

    Weitere Links