Mit RSA-Schlüsseln auf Linux anmelden

Bislang habe ich immer die Kombination aus Username/Passwort für die Authentifizierung an meinen Linux-Maschinen genutzt, aus purer Faulheit stelle ich aber aktuell auf schlüssel-basierte Logins um. Hier eine kurze Anleitung, wie man die entsprechenden Schlüssel unter Windows erstellt.

Als SSH-Shell nutze ich unter Windows putty, das mit puttygen auch einen entsprechenden Key-Generator mit sich bringt. Diesen startet man, wählt „SSH-2 RSA“ aus, trägt bei der Schlüssellänge 4096 ein und drückt „Generate“

Anschließend bewegt man die Maus, um genügend Entropie zu erzeugen.

Nachdem die Schlüssel fertiggestellt sind, kann man mit „Save public key“ und „Save private key“ die beiden Schlüssel speichern. Ein Passwort legen wir hier explizit nicht fest, denn wir wollen ja ein passwort-losen Login.

Die public-Key-Datei kopieren wir dann auf die Linux-Maschine, ich habe dazu einfach WinSCP genutzt.

Auf der Linux-Maschine loggt man sich dann mit Username und Passwort ein und legt a) die Datei ~/.ssh/authorized_keys an, falls diese noch nicht existiert. Dann kopiert man mittels cat >> .ssh/authorized_keys den neuen Key an das Ende der authorized_keys.

Nun muss nur noch in Putty in den Eigenschaften der Verbindung der private key hinterlegt werden und die Session gespeichert werden, die schlüssel-basierte Verbindung sollte jetzt klappen.

Bei mir tat sie das nicht, mein Linux-Server brachte nur die Meldung „Server refused our key“. Die Lösung fand sich dann unter https://www.hpbyte.ch/index.php?/archives/842-PuTTY-und-Server-refused-our-key.html bzw. unter http://www.walkernews.net/2009/03/22/how-to-fix-server-refused-our-key-error-that-caused-by-putty-generated-rsa-public-key/

Der Key muss a) in einer Zeile stehen und b) es muss ssh-rsa davor stehen. Diese Anpassungen habe ich dann unter Windows schnell gemacht (per Ultraedit, jeder andere Editor sollte auch gehen, mit vim wie unter den Links beschrieben kenn ich mich nicht so gut aus) und die oben erwähnten Schritte (auf den Server kopieren, an die authorized_keys anhängen) nochmal gemacht. Jetzt klappt’s auch mit der Verbindung.

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination. Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website