Key-basierte SSH Logins mit PuTTY

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 OpenSource SSH Client, der für Windows und Linux (obwohl es auf Windows Systemen gebrächlicher ist) frei und kostenlos 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.

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.