OpenSSH Public-Private-Key: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Index]]
 
[[Kategorie:FAQ und Anleitungen]]
 
{|width=99%
 
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 1em 1em 1em;  background-color:#F8F8FF; align:right;">[[Bild:Artikel_Hinweis.png|right|40px|The Gemini Project]]
 
=== OpenSSH Public-Private-Key ===
 
</div>
 
|-
 
|
 
<div style="background-color: #FFFAFA; border: 1px padding: .4em; solid #cccccc;">
 
 
__TOC__
 
__TOC__
==== Einleitung ====
+
'''[[SSH]]''', die '''secure shell''', dient dem entfernten Zugriff auf einen Linux-PC.<br>
'''SSH''', die '''secure shell''', dient dem entfernten Zugriff auf einen Linux-PC.<br>
+
Im Gegensatz zu [[telnet]] oder [[FTP|ftp]] werden alle Daten, also auch Kennwörter, verschlüsselt übertragen.<br>
Im Gegensatz zu telnet oder ftp werden alle Daten, also auch Kennwörter, verschlüsselt übertragen.<br>
 
 
Aufgerufen wird es in einer shell, die Ziel-Rechner-IP ist natürlich anzupassen, kann aber auch ein auflösbarer Name sein:
 
Aufgerufen wird es in einer shell, die Ziel-Rechner-IP ist natürlich anzupassen, kann aber auch ein auflösbarer Name sein:
  
Zeile 32: Zeile 22:
  
 
Zurück zum [[#top | Inhaltsverzeichnis:]]
 
Zurück zum [[#top | Inhaltsverzeichnis:]]
 
  
 
==== Grundsätzliches zu ssh-key ====
 
==== Grundsätzliches zu ssh-key ====
Zeile 68: Zeile 57:
 
  ssh-keygen -b 2048 -t rsa -N MeinePassphrase -C MeinKommentar -f /home/monika/.ssh/monika-key
 
  ssh-keygen -b 2048 -t rsa -N MeinePassphrase -C MeinKommentar -f /home/monika/.ssh/monika-key
  
Ein 2048 bit schlüssel erzeugt,<br>
+
Ein '''2048 bit''' schlüssel erzeugt,<br>
der Private Schlüssel mittels einem Kennwort (Passphrase) geschützt ist,<br>
+
der Private Schlüssel mittels einem '''Kennwort (Passphrase)''' geschützt ist,<br>
mit einem Kommentar (MeinKomenntar) versehenen ist,<br>
+
mit einem '''Kommentar (MeinKomenntar)''' versehenen ist,<br>
und als monika-key in /home/monika/.ssh gespeichert wurde.
+
und als '''monika-key''' in '''/home/monika/.ssh''' gespeichert wurde.
  
  
Zeile 80: Zeile 69:
  
 
Zurück zum [[#top | Inhaltsverzeichnis:]]
 
Zurück zum [[#top | Inhaltsverzeichnis:]]
 
 
 
  
 
==== ssh-keygen unter Windows ====
 
==== ssh-keygen unter Windows ====
Zeile 94: Zeile 80:
 
'''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)<br>
 
'''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)<br>
  
'''4.''' Für die Verwendung von WinScp wird pagent nicht benötigt<br>
+
'''4.''' Für die Verwendung von WinSCP wird pagent nicht benötigt<br>
  
 
Download der Putty-Tools:
 
Download der Putty-Tools:
Zeile 131: Zeile 117:
  
 
Diese müssen erst mit Puttygen geladen und ins Putty-Format konvertiert werden.
 
Diese müssen erst mit Puttygen geladen und ins Putty-Format konvertiert werden.
 +
 +
{| class="wikitable"
 +
|-class="hintergrundfarbe5"
 +
|-valign="top"
 +
|[[Bild:PuTTYgen-start.png|left|thumb|400px|Start von Puttygen]] ||
 +
|}
 +
 +
Nun klickt man oben im Menü auf '''File''' und ladet hierüber sich die Linux-Key-Datei.
 +
 +
{| class="wikitable"
 +
|-class="hintergrundfarbe5"
 +
|-valign="top"
 +
|[[Bild:Linuxkey-laden.png|left|thumb|400px|Wichtig ist das man bei Dateity auf (all files) umstellt! ]] ||
 +
|}
 +
 +
 +
Wurde der Linux-Schlüssel mittels einer '''passphrase''' gesichert, muss dieses Kennwort zuerst eingegeben werden.
 +
 +
{| class="wikitable"
 +
|-class="hintergrundfarbe5"
 +
|-valign="top"
 +
|[[Bild:PuTTYgen-key-passphrase.png|left|thumb|400px|Abfrage der Passphrasse!]] ||
 +
|[[Bild:PuTTYgen-key-passphrase-geladen.png|left|thumb|400px|Erfolgreiche Eingabe der Passphrasse!]] ||
 +
|}
 +
 +
Danach ist der Linux-Schlüssel erfolgreich importiert
 +
 +
{| class="wikitable"
 +
|-class="hintergrundfarbe5"
 +
|-valign="top"
 +
|[[Bild:PuTTYgen-key-geladen.png|left|thumb|400px|Erfolgreicher Import eines Linux-Schlüssels]] ||
 +
|}
 +
 +
Nun müssen wir diesen wieder als PuTTY-Key speichern, damit man diesen für Winodws nutzen kann.
 +
 +
{| class="wikitable"
 +
|-class="hintergrundfarbe5"
 +
|-valign="top"
 +
|[[Bild:PuTTYgen-key-wieder-speichern.png|left|thumb|400px|Speichern eines Linux-Schlüssels nach PuTTY-Format]] ||
 +
|}
 +
 +
 +
Ggf. sollte man hier wieder eine '''"Passphrasse"''' eingeben um den Schlüssel vor Fremden zugriff zu schützen!
 +
  
  
Zeile 154: Zeile 184:
  
  
Zurück zum [[#top | Inhaltsverzeichnis:]]
+
[[Kategorie:Anleitungen]]
 
 
 
 
 
 
 
 
</div>
 
|}
 
 
 
 
 
'''Zurück zur Übersicht:[[Hilfe zum Hersteller Qnap]] oder [[Hauptseite]]'''
 

Aktuelle Version vom 2. November 2012, 11:36 Uhr

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.


Erstellung von Schlüßeln mit Puttygen (selbstverständlich verwende ich nicht diesen Schlüssel)


Zurück zum Inhaltsverzeichnis:


Linux ssh-keys nach Windows konvertieren

Wurden SSH-Keys unter Linux mittels ssh-keygen erstellt,
können diese so nicht für einen Windowsclient verwendet werden.

Diese müssen erst mit Puttygen geladen und ins Putty-Format konvertiert werden.

Start von Puttygen

Nun klickt man oben im Menü auf File und ladet hierüber sich die Linux-Key-Datei.

Wichtig ist das man bei Dateity auf (all files) umstellt!


Wurde der Linux-Schlüssel mittels einer passphrase gesichert, muss dieses Kennwort zuerst eingegeben werden.

Abfrage der Passphrasse!
Erfolgreiche Eingabe der Passphrasse!

Danach ist der Linux-Schlüssel erfolgreich importiert

Erfolgreicher Import eines Linux-Schlüssels

Nun müssen wir diesen wieder als PuTTY-Key speichern, damit man diesen für Winodws nutzen kann.

Speichern eines Linux-Schlüssels nach PuTTY-Format


Ggf. sollte man hier wieder eine "Passphrasse" eingeben um den Schlüssel vor Fremden zugriff zu schützen!


Zurück zum Inhaltsverzeichnis:


externe Links