Key-basierte SSH Logins mit PuTTY

Version 1.0
Author: Falko Timme


Diese Anleitung veranschaulicht, wie man ein private/public Key Paar generiert und verwendet um sich auf einem entfernten System mit SSH unter Verwendung von PuTTY einzuloggen. PuTTY ist ein SSH Client, der für Windows und Linux (obwohl es auf Windows Systemen gebrächlicher ist) verfügbar ist. Mit Key-basierte SSH Logins kannst Du die normale Benutzername/Passwort Login-Prozedur deaktivieren, was bedeutet, dass sich nur Leute mit einem gültigen private/public Key Paar anmelden können. Somit sind brute-force Attacken zwecklos, d.h. Dein System ist sicherer.

Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!

1 Vorbemerkung

In dieser Anleitung verwende ich einen Windows Desktop um mich mit einem Linux SSH Server (Debian Sarge, IP Adresse: 192.168.0.100) zu verbinden.

2 Installation von PuTTY, PuTTYgen und Pageant auf dem Windows System

Zuerst müssen wir PuTTY, PuTTYgen und Pageant auf unserem Windows System installieren. Wir müssen dazu nur die ausführbaren Dateien (.exe) runter laden und sie irgendwo speichern, z.B. auf dem Desktop. Wir brauchen sie nicht installieren, da sie Standalone-Anwendungen sind. Um sie zu starten, brauchen wir sie nur anzuklicken (Doppelklick).

Lade folgende Dateien von der PuTTY Download Page und speichere sie auf Deinem Windows System, z.B. auf dem Desktop:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
http://the.earth.li/~sgtatham/putty/latest/x86/pageant.exe

3 Erstelle ein Profil mit Einstellungen für unseren 192.168.0.100 Server

In PuTTY kannst Du Profile für Verbindungen zu Deinen zahlreichen SSH Servern erstellen. Du musst die Einstellungen also nicht noch einmal eingeben, wenn Du Dich erneut mit einem bestimmten Server verbinden möchtest.

Lass uns ein Profil für unseren 192.168.0.100 Server erstellen. Starte PuTTY indem Du auf dessen ausführbare Datei klickst (Doppelklick). Nun befindest Du Dich in der Kategorie Session (siehe linke Seite des Screenshots). Gib 192.168.0.100 unter Host Name (oder IP address) ein, gib 22 unter Port ein und wähle SSH unter Protocol:


Gehe dann zu Connection -> Data und lege einen Benutzernamen fest, mit dem Du Dich auf Deinem SSH Server unter Auto-login username anmelden möchtest. In dieser Anleitung verwende ich "root":


Gehe dann erneut zu Session. Gib unter Saved Sessions einen Namen für das Profil ein, z.B. 192.168.0.100 oder irgendeine andere Zeichenfolge, bei der Du weißt, für welchen Server das Profil ist. Klicke dann auf Save:


Wenn Du PuTTY das nächste Mal verwendest, brauchst Du nur das entsprechende Profil aus der Saved Sessions Textarea auswählen, auf Load klicken und dann Open öffnen

4 Verbinde Dich mit dem SSH Server

Nun können wir uns mit dem SSH Server verbinden, indem wir einfach auf Open klicken.


Wenn Du Dich zum ersten Mal mit dem Server verbindest, erscheint eine Sicherheitswarnung. Das passiert, das PUTTY den Host Key des Servers noch nicht kennt. Es ist also sicher auf Yes zu klicken (wenn das später noch mal passiert, kann es bedeuten, dass ein anderer Server gerade unter der gleichen IP Adresse läuft, oder dass jemand eingebrochen ist und den Key geändert hat.)


Wir haben die Benutzernamen gespeichert, mit dem wir uns in unseren Profileinstellungen verbinden, wir müssen ihn hier also nicht noch einmal eingeben. Wir müssen nur das Passwort des Benutzers bestimmen:


Das war der "normale" Weg sich anzumelden, d.h. mit einem Benutzernamen und einem Passwort. Wenn jemand anderes den Benutzernamen und das Passwort kennt, kann er/sie sich ebenfalls anmelden. Wenn Du also schwache Passwörter hast und/oder Opfer eine brute-force Attacke bist, kann das ein Problem werden. Lass uns das jetzt ändern.

6 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Hbb

Anstelle von vi ~/.ssh/authorized_keys2 sollte besser

nano ~/.ssh/authorized_keys

verwendet werden. Dann hat man auch einen halbwegs vernünftigen Editor gestartet.


Von: make-fun

Hi
You may wanna use ~/.ssh/authorized_keys (no 2) as authorized_keys2 is deprecated. It came with the change from OpenSSH1 to OpenSSH2 and was dropped(deprecated) in OpenSSH3, I think


Von: Falcon37

läuft leider nicht.

Using username "root".
Server refused our key

habe alles so gemacht, wie es sollte.......


Von: Falcon37

Lösung gefunden:
In der Datei /root/.ssh/authorized_keys2 den key am Anfang anstatt sh SSH eintragen...


Von: Tobias08

Tippfehler:


gebrächlicher -> gebräuchlicher


Von: XZaya

Hallo, nachdem ich das echt gute Tutorial gesehen habe und mir die 1k verschlüsselung zu "unsicher" war, habe ich es mit einer 32k Probiert, jetzt habe ich aber das Problem, das es ewig dauert, bis er connectet (habe ich erwartet) aber eg gibt immer einen Error zrurück, was sehr komisch ist. Falls jemdand eine Idee hat gerne anschreiben!


 


LG Moritz