OpenSSH Public-Private-Key

Aus Gemini-Wiki
Version vom 1. September 2009, 22:09 Uhr von EgLe (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Baustelle.png

Diese Seite befindet sich im Entwurfsstadium und wird von EgLe bearbeitet.

The Gemini Project

OpenSSH Public-Private-Key

Einleitung

SSH, die secure shell, dient dem entfernten Zugriff auf einen Linux-PC.
Im Gegensatz zu telnet oder ftp werden alle Daten, also auch Kennwörter, verschlüsselt übertragen.
Aufgerufen wird es in einer shell, die Ziel-Rechner-IP ist natürlich anzupassen, kann aber auch ein auflösbarer Name sein:

ssh 192.168.0.10 

ssh irgendein.server.de

Um sich mit einem bestimmten Benutzer anzumelden, muss dieser Benutzername und ein @ der PC-Angabe voran gestellt werden. Als root ist sich anzumelden mit:

ssh root@192.168.0.10

OpenSSH ist eine kompatible, freie OpenSource-Implementierung der originalen ssh (Secure Shell).
Man kann damit problemlos telnet, rsh, rcp und andere veraltete und unsichere Dienste ersetzen oder zusätzlich absichern.


Sinn der Sache:

Viele haben zu Hause (oder sonstwo) mehrere Rechner, auf denen ein SSH-Daemon läuft - sei es zur Verwaltung des Rechners oder sonstigem. Jedoch kann es, wenn man sich oft auf den Maschinen einloggen muss, mitunter recht nervig werden, jedesmal das Passwort einzutippen. Der Austausch der Public-Keys schafft hier Abhilfe. Weiterhin verhindert man mit dieser Maßnahme die Brute-Force-Angriffe.


Zurück zum Inhaltsverzeichnis:


Grundsätzliches zu ssh-key

Ein Schlüsselpaar besteht aus einem Privaten (private) Key und einem Öffentlichen (public) Key.
Diese werden ssh-key genannt und werden mittels ssh-keygen generiert.

Die maximale Schlüsselange beträgt 32768 Bit.


RSA oder DSA Schlüssel?

RSA arbeitet über eine Ringcharakteristik,
DSA über einen Körper, was auch immer das heißen mag...

Beide sind heute frei!

Der Nachteil von DSA ist, das seine Keylänge nur bis 1024 Bit spezifiziert ist.
Wenn man also längere Schlüssel benutzen will, muss man RSA benutzen.


Zurück zum Inhaltsverzeichnis:


ssh-keygen unter Linux

Das erstellen unter Linux ist recht einfach (wenn ssh installiert ist).

Der Syntax zum generieren eines Schlüssel ist wie folgt:

ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]


Dies bedeutetet Beispielhaft das folgender Befehl:

ssh-keygen -b 2048 -t rsa -N MeinePassphrase -C MeinKommentar -f /home/monika/.ssh/monika-key

Ein 2048 bit schlüssel erzeugt,
der Private Schlüssel mittels einem Kennwort (Passphrase) geschützt ist,
mit einem Kommentar (MeinKomenntar) versehenen ist,
und als monika-key in /home/monika/.ssh gespeichert wurde.


Passphrase = ist da damit (bei Fremdbenutzung) dieser mit einer Passwortabfrage geschützt ist.

Kommentar = ist z.B. Sinnvoll damit der Server anhand des Kommentars sauber loggen kann wer was wann gemacht hat.


Zurück zum Inhaltsverzeichnis:



ssh-keygen unter Windows

Was benötigen wir:

1. Man brauchst für die Erstellung der Schlüssel das Putty Tool Puttygen

2. Für das Einfügen des public-key in die authorized_keys dann noch Putty

3. Für die Verwendung des privaten Schlüssels zusammen mit Filezilla wird das Putty-Tool pagent benötigt - (ebenfalls bei den Putty Tools dabei)

4. Für die Verwendung von WinScp wird pagent nicht benötigt

Download der Putty-Tools:


Erstellen der Schlüssel:

1. Nach dem Start von Puttygen wählt man unter Parameters SSH2 RSA aus und vergibt als Schlüssellänge 2048 bits (siehe Number of bits in a generated key)

2. Anschließend klickt man auf Generate und bewegt die Maus solange, bis die Schlüssel erstellt wurden. Jetzt sieht man in der mehrzeiligen TextBox schon den public key. Der private key muss explizit über den Save private key Button gespeichert werden. Aber bevor dies geschieht, sollten ein aussagekräftiger Kommentar und eine Passphrase vergeben werden. Den Kommentar siehst man dann z.B. in der auth.log und kann damit sofort erkennen, welcher Benutzer auf den Server zugegriffen hat.

Speichert also den private key ab. Den public key dagegen kopiert man nun in die Zwischenablage, um ihn anschließend über Cut & Paste im Putty Fenster in die authorized_keys Datei des Servers einzufügen.


Zurück zum Inhaltsverzeichnis:


Linux ssh-keys nach Windows konvertieren

Zurück zum Inhaltsverzeichnis:


externe Links


Zurück zum Inhaltsverzeichnis:




Zurück zur Übersicht:Hilfe zum Hersteller Qnap oder Hauptseite