Private RSA Key in OpenSSH-Key konvertieren - geht das?
Hallo,
ich habe mit easy-RSA eine PKI mit selbstsignierter CA aufgebaut.
Nun möchte ich nicht eine komplett neue PKI für SSH pflegen, sondern stattdessen die Keys und Certifikate auch als Basis für OpenSSH nutzen.
Kann ich einen mit easy-rsa erzeugten private Key für einen Client in einen private-key konvertieren wie ihn SSH benötigt?
Wenn ja, wie mache ich das am besten?
Vielen Dank schonmal.
ich habe mit easy-RSA eine PKI mit selbstsignierter CA aufgebaut.
Nun möchte ich nicht eine komplett neue PKI für SSH pflegen, sondern stattdessen die Keys und Certifikate auch als Basis für OpenSSH nutzen.
Kann ich einen mit easy-rsa erzeugten private Key für einen Client in einen private-key konvertieren wie ihn SSH benötigt?
Wenn ja, wie mache ich das am besten?
Vielen Dank schonmal.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 600858
Url: https://administrator.de/forum/private-rsa-key-in-openssh-key-konvertieren-geht-das-600858.html
Ausgedruckt am: 16.02.2025 um 19:02 Uhr
11 Kommentare
Neuester Kommentar
ich kenne easy-RSA nicht.
Sollte man eigentlich... Ist in jedem OpenVPN Package immer mit dabei. Guckst du HIER ! Entweder das oder du kannst sie mit OpenSSL einfach konvertieren.
![145916](/images/members/profile_male_48x48.png)
openssl rsa -in /path/private.key -out /path/private_rsa.key
Das wandelt einen PEM private Key in einen RSA Key (OpenSSH kompatibel) um mit folgendem Header
-----BEGIN RSA PRIVATE KEY-----
und den kann man mit SSH auch problemlos nutzen. Normale PEM Keys gehen aber auch out of the box. Eine Umwandlung ist also in der Regel nicht nötig
Dann kannst du den Key mit
ssh-add /path/private_rsa.key
dem ssh agent hinzufügen und dich damit per SSH connecten.![145916](/images/members/profile_male_48x48.png)
Zitat von @blacksun:
das habe ich nicht getestet da ich in wirklich jeder Anleitung gelesen habe dass man Keys im OpenSSH-Format benötigt.
Funktioniert aber das habe ich nicht getestet da ich in wirklich jeder Anleitung gelesen habe dass man Keys im OpenSSH-Format benötigt.
Zitat von @145916:
Dann kannst du den Key mit
Dann kannst du den Key mit
ssh-add /path/private_rsa.key
dem ssh agent hinzufügen und dich damit per SSH connecten.Danke für den Tipp. Weißt Du wo der Agent die privaten Keys dann speichert?
Lesen hilft wie immer gegen Kopfschmerzen
2 Fragen noch zu SSH:
- könnte ich die authorized_keys Datei aus dem Homedir auch an einen Ort verlegen so dass die für alle User-IDs genutzt werden kann?
Ja, in der sshd_config in die enstprechende Direktive AuthorizedKeysFile den Pfad eintragen- könnte ich die authorized_keys Datei aus dem Homedir auch an einen Ort verlegen so dass die für alle User-IDs genutzt werden kann?
https://linux.die.net/man/5/sshd_config
- schützen mich der Key-Login bzw. die Signaturmeldung am Client vor Man-in-the-Middle angriffen bzw. das Aufbrechen der Verschlüsselung?
Nur wenn du ausschließlich deine eigenen Hostkeys bei Verbindungen akzeptierst.![145916](/images/members/profile_male_48x48.png)
Zitat von @blacksun:
Da die Beispiele dort aber ausschließlich Homedirs zeigen war mir nicht klar ob es zwingend Homedirs sein müssen.
Nein müssen es nicht.Da die Beispiele dort aber ausschließlich Homedirs zeigen war mir nicht klar ob es zwingend Homedirs sein müssen.
Damit ich einen passenden Ort für AuthorizedKeysFile suchen kann, muss der User, mit dem der Login erfolgt, auf das File zugreifen können, oder der User unter dem der SSHd läuft?
Der Account unter dem der sshd Daemon läuft muss Leserechte auf das File haben, das reicht.Bei ssh bleibt nur der manuelle Abgleich der Signatur, oder?
Nein, der SSH Client verbindet sich ohne weitere Parameterangabe von selbst nur mit den Hosts dessen Public Key du schon in der ~/.ssh/known_hosts auf dem Client abgespeichert hast. Ansonsten verweigert er die Verbindung, bzw. fragt danach.Das Gegenteilige für den Hostkey-Check erreicht man über das setzen der Option
-o "StrictHostKeyChecking no"
bei einer Client-Verbindung werden wenn man das mal braucht. Setzt man diese Option verbindet sich der SSH Client mit jedem Server ohne Check des HostKeys.