Login am Server

SSH mit Putty: Passwortlose Anmeldung per Schlüssel

Auch mit Putty unter Windows klappt die SSH-Anmeldung an einen Linux-Server ohne Passwort. Den privaten Schlüssel von Open SSH müssen Sie aber erst mit Puttygen konvertieren.

Windows ist eines der wenigen Betriebssysteme, das von Haus aus kein SSH spricht. Obwohl oder weil SSH ein offenes und weit verbreitetes Protokoll für die Anmeldung auf Kommandozeile und zur Dateiübertragung ist, verweigerte Microsoft Windows bislang einen SSH-Client. Für Windows-Anwender, die auch mit Linux arbeiten, ist deshalb der freie SSH-Client Putty ein wichtiges Werkzeug im Alltag. Und auch mit Putty ist die passwortlose Anmeldung auf einem Linux-Rechner per Public Key möglich.

Anmeldung per Schlüssel: Mit SSH sicher Daten übertragen.
Anmeldung per Schlüssel: Mit SSH sicher Daten übertragen.

Für eine bequeme Anmeldung per Putty auf dem SSH-Server ohne Passwortabfrage müssen Sie Client und Server erst über das gemeinsame Schlüsselpaar des Benutzerkontos bekannt machen. Am einfachsten ist es unter Windows, dazu den Private Key des Benutzers auf den Client zu kopieren und in Putty zu verwenden. Die Vorbereitung ist aufwendiger als unter Linux, aber bei einer schrittweisen Vorgehensweise auch nicht kompliziert:

1. Auf dem Linux-Server erstellen Sie mit dem Benutzer, für welchen die SSH-Anmeldung erfolgen soll, mit dem Kommando

ssh-keygen -t rsa

ein Schlüsselpaar für SSH. Bestätigen Sie den Standardpfad für die Schlüsseldateien mit der Enter-Taste, und die Abfrage eines optionalen Passworts hinter „Enter passphrase“ lassen Sie leer.

2. Fügen Sie den gerade erzeugten öffentlichen Part des Schlüsselpaares auf dem Linux-Server mit dem Befehl

cat ~/.ssh/id_rsa.pub >> ~/.ssh/ authorized_keys

zu den bekannten SSH-Schlüsseln des Benutzers hinzu.

3. Jetzt müssen Sie den Inhalt der privaten Schlüsseldatei „id.rsa“ im Verzeichnis „~./ssh“ sicher auf den Windows-Client bekommen. Das gelingt auch über Putty, indem Sie sich auf dem Server den Inhalt der Datei mit

cat ~/.ssh/id_rsa

anzeigen lassen und dann mit der Maus die Ausgabe markieren. Putty befördert den markierten Inhalt automatisch in die Zwischenablage von Windows.

Mit einem Texteditor, notfalls mit Notepad, sichern Sie auf dem Windows-Client den Inhalt in eine Textdatei mit dem Namen „id.rsa“. Da es sich um eine Ascii-Datei handelt, gibt es keine Probleme mit unterschiedlichen Zeichensätzen zwischen Windows-Client und Linux-Server.

4. Nun benötigen Sie auf dem Windows-Client das Programm Puttygen, das eine separate Schlüsselverwaltung für Putty stellt. In Puttygen gehen Sie auf „Conversions > Import Key“ und laden die vorhin gespeicherte private Schlüsseldatei „id.rsa“. Dann gehen Sie in Puttygen auf „File > Save private key“ und sichern die Schlüsseldatei unter einem aussagekräftigen Namen im Putty-Format mit der Endung „ppk“ ab. Ein zusätzliches Passwort wird nicht benötigt, und die Rückfrage „Are you sure […]“ beantworten Sie mit „Ja“.

5. Damit der Schlüssel in Putty funktioniert, gehen Sie in den Einstellungen der SSH-Session auf „Connection > Data“ und tragen unter „Auto-login username“ den Benutzernamen für die Anmeldung auf dem Server ein. Unter „Connection > SSH > Auth“ wählen Sie unten im Feld „Private key file for authentication“ die im vorherigen Schritt gespeicherte Putty-Schlüsseldatei mit der Endung „ppk“ aus. Danach kann die Verbindung mit „Open“ getestet werden.

(PC-Welt/ad)