1

How to convert RFC4716 private keys to PEM private keys in ubuntu 20.04?

For our project we generated ssh keys on a device running the latest openssh software. JSch complained about authentication:

Exception com.jcraft.jsch.JSchException: Auth fail

After a lot of research, including building a minimal git client we discovered a small change to our other key files. The header didn’t start with

​—–BEGIN RSA PRIVATE KEY—–

but it started with

—–BEGIN OPENSSH PRIVATE KEY—–

showing, that this key is formatted in the new default RFC4716 format.

I have same question here, but I want to use my original key instead of regenerate one. And I don't want to use GUI applications like PuTTY. I want convert it in scripts.

I tried several attempts, non of these works:

ssh-keygen -f id_rsa -m 'PEM' -e ssh-keygen -f id_rsa -e -m pem # I got PUBLIC KEY instead of private key openssl rsa -in ~/.ssh/id_rsa -outform pem openssl rsa -in id_rsa -pubout -out id_rsa.pub.pem openssl rsa -in ~/.ssh/id_rsaunable to load Private Key # unable to load Private Key # 139920849113728:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: ANY PRIVATE KEY 

How do I convert it?

1 Answer 1

1
$ cat /tmp/test -----BEGIN OPENSSH PRIVATE KEY----- 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 1yWVGKN2wVIFLjAAAACWppcmlAdDUwMAE= -----END OPENSSH PRIVATE KEY----- $ ssh-keygen -p -f /tmp/test -m PEM Key has comment 'jiri@t500' Enter new passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved with the new passphrase. $ cat /tmp/test -----BEGIN RSA PRIVATE KEY----- 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 -----END RSA PRIVATE KEY----- 
2
  • Oh, Thank you a lot!!! This works! It solved my problem! I didn't get anything helpful by google "convert RFC4716 private keys to PEM private keys". You helped my a lot! Commented Mar 7, 2021 at 19:45
  • IMO better way would be to find better java ssh library. Commented Mar 7, 2021 at 21:22

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.