Individuelle SSH-Schlüssel manuell erzeugen

Sie haben die Möglichkeit, die werksseitig installierten sowie die automatisch generierten SSH-/SSL-Schlüssel durch eigene RSA- und DSA- oder DSS-Schlüssel zu ersetzen, um z.  B. eine höhere Verschlüsselungsstärke zu realisieren. Dafür stehen Ihnen mehrere Wege zur Auswahl:

Der Weg über ein externes Programm bietet sich z. B. dann an, wenn Ihr Gerät über keine hinreichende Entropie verfügt und dadurch die Schlüsselerzeugung unter LCOS fehlschlägt.

SSH-Schlüsselerzeugung unter LCOS

Die Erzeugung eines Schlüsselpaares – bestehend aus einem öffentlichen und einem privaten Schlüssel – starten Sie an der Konsole des Gerätes mit folgendem Befehl:
sshkeygen [-?|-h] [-t (dsa|rsa|ecdsa)] [-b <Bits>] -f <OutputFile> [-q]
-?, -h
Zeigt eine kurze Hilfe der möglichen Parameter.
-t (dsa|rsa|ecdsa)
Dieser Parameter bestimmt den Typ des erzeugten Schlüssels. Insgesamt unterstützt SSH folgende Typen von Schlüsseln:
  • RSA-Schlüssel sind am weitesten verbreitet und haben eine Länge von 512 bis zu 16384 Bit. Verwenden Sie nach Möglichkeit Schlüssel mit einer Länge von 1024 bis 2048 Bit.
  • DSA-Schlüssel folgen dem Digital Signature Standard (DSS) des National Institute of Standards and Technology (NIST) und werden z. B. in Umgebungen eingesetzt, die eine Compliance mit dem Federal Information Processing Standard (FIPS) erfordern. DSA- oder DSS-Schlüssel haben immer eine Länge von 1024 Bit, sind aber langsamer als die entsprechenden RSA-Schlüssel.
  • ECDSA-Schlüssel sind eine Variante von DSA-Schlüsseln, bei der das Gerät für die Schlüsselerzeugung elliptische Kurven verwendet (Elliptic Curve Cryptography, ECC). Die ECC ist eine Alternative zu den klassischen Signatur- und Schlüsselaustauschverfahren wie RSA und Diffie-Hellman. Der Hauptvorteil von elliptischen Kurven liegt darin, dass Sie durch deren mathematische Eigenschaften die gleiche Schlüsselstärke wie bei RSA oder Diffie-Hellman mit einer deutlich kürzeren Schlüssellänge erreichen. Dies erlaubt eine bessere Leistung bei äquivalenter Hardware. ECC und deren Integration in SSL und TLS sind in den RFCs 5656 und 4492 beschrieben.
Wenn Sie keinen Typ angeben, erzeugt das Kommando immer einen RSA-Schlüssel.
-b <Bits>
Dieser Parameter bestimmt die Länge des Schlüssels in Bit für RSA-Schlüssel. Wenn Sie keine Länge angeben, erzeugt das Kommando immer einen Schlüssel mit einer Länge von 1024 Bit.
-f <OutputFile>
Über diesen Parameter geben Sie den Mountingpoint der erzeugten Schlüsseldatei im Dateisystem des Gerätes an. Die Wahl des Mountingpoints hängt davon ab, was für einen Schlüssel sie von welchem Typ erzeugen. Zur Auswahl stehen Ihnen in diesem Fall:
  • ssh_rsakey für RSA-Schlüssel
  • ssh_dsakey für DSA-Schlüssel
  • ssh_ecdsakey für ECDSA-Schlüssel
  • ssl_privkey für SSL-RSA-Schlüssel
-q
Dieser Parameter aktiviert den 'Quiet'-Modus für die Schlüsselerzeugung. Wenn Sie diesen Parameter setzen, überschreibt LCOS bereits existierende RSA- oder DSA-Schlüssel ungefragt; Ausgaben über den Fortschritt der Operation entfallen. Nutzen Sie diesen Parameter z. B. in einem Skript, um die Bestätigung von Sicherheitsabfragen durch den Benutzer zu unterdrücken.

SSH-Schlüsselerzeugung unter Linux-Systemen

Zahlreiche Linux-Distributionen haben das OpenSSH-Paket bereits installiert. Hier genügt ein einfacher Befehl an der Shell, um die gewünschte Schlüsseldatei zu erzeugen. Die verwendete Syntax entspricht dabei der des LCOS-Befehls sshkeygen:

ssh-keygen [-t (dsa|rsa)] [-b <Bits>] [-f <OutputFile>]

Mit einem Befehl ssh-keygen -t rsa -b 4096 -f hostkey erzeugen Sie also einen RSA-Schlüssel mit 4096 Bit Länge, welcher sich aus dem privaten Bestandteil 'hostkey' und dem öffentlichen Bestandteil 'hostkey.pub' zusammensetzt.

SSH-Schlüsselerzeugung unter Windows-Systemen

Windows-Systeme sind von Haus aus nicht dazu in der Lage, SSH-Schlüssel zu kompilieren. Nutzen Sie stattdessen entsprechende Hilfsprogramme wie die freie Software PuTTYgen.

Eine Anleitung, wie Sie mit PuTTYgen einen individuellen Schlüssel erstellen, finden Sie im Abschnitt SSH-Schlüsselpaar erzeugen mit PuTTY. Befolgen Sie darin die einzelnen Schritte; speichern Sie den Schlüssel nach seiner Erzeugung jedoch nicht über die Schaltflächen Save public key und Save private key, sondern wählen Sie Conversions > Export OpenSSH key. Der so erstellte OpenSSH-Private-Key lässt sich anschließend ohne weitere Bearbeitung ins Gerät laden.