SSH Key Generierung und RFC4716-Format Konvertierung mit ssh-keygen für Elliptische Kurven (ed25519)

RFC4716-Format Konvertierung

SSH-keygen ist ein essentielles Kommandozeilenwerkzeug zur Erstellung, Verwaltung und Konvertierung von Authentifizierungsschlüsseln für SSH-Verbindungen. Das Tool ist integraler Bestandteil der OpenSSH-Suite und steht auf nahezu allen modernen Betriebssystemen zur Verfügung, einschließlich Raspberry Pi, Linux, macOS sowie Windows 10 und 11.

Konvertieren eines öffentlichen SSH-Schlüssel vom OpenSSH-Standardformat in das RFC4716-Format

Die Konvertierung zwischen beiden Formaten ist vollständig reversibel und verlustfrei. Der kryptographische Inhalt bleibt identisch – lediglich die Darstellung ändert sich durch Hinzufügen oder Entfernen von Zeilenumbrüchen bei 70 Zeichen sowie durch Modifikation der Header-Strukturen. Beide Formate repräsentieren denselben öffentlichen Schlüssel und bieten identische Sicherheitseigenschaften.

Das RFC4716-Format unterstützt zusätzliche Header-Felder wie Subject, Comment oder x-command, die im OpenSSH-Standardformat nicht verfügbar sind. Diese Header ermöglichen die Speicherung von Metadaten wie dem Benutzernamen, unter dem der Schlüssel generiert wurde, oder spezifischen Kommandos, die bei der Authentifizierung ausgeführt werden sollen.

Grundsätzlich wird RFC4716 immer dann benötigt, wenn Systeme, Weboberflächen oder Dienste explizit dieses standardisierte Format verlangen (wie z.B. OpenMediaVault und Hetzner Storage Boxes), anstatt das verbreitete OpenSSH-Einzeilenformat zu akzeptieren.

RFC4716-Dateien haben keinen standardisierten Dateinamenpräfix oder eine fest vorgeschriebene Dateiendung. Der RFC4716-Standard definiert ausschließlich den Dateiinhalt, nicht jedoch Namenskonventionen für die Dateien selbst.

Dateinamenskonventionen in der Praxis

In der Praxis werden verschiedene Dateiendungen verwendet:

.pub  wird häufig verwendet, da es sich um öffentliche Schlüssel handelt

.pem  wird manchmal genutzt, ist aber technisch ungenau, da PEM ein anderes Format darstellt

Keine spezifische Endung ist ebenfalls möglich, da der Dateiinhalt durch die Header-Marker eindeutig identifizierbar ist

Die Wahl der Dateiendung ist letztlich eine Konventionsfrage und hat keine funktionalen Auswirkungen auf die Verarbeitung des Schlüssels durch ssh-keygen oder andere SSH-Tools

Nun aber zu dem Beispiel Ablauf wie oben im Aktivitätsdiagramm gezeigt, kann auf dem Raspberry Pi wie folgt laufen:

Hier die Befehle als Kopiervorlage:

Diagramm als rfc-key.pdf.