ssh キーの生成で PKCS1 形式のキーが作成されない

ssh キーの生成で PKCS1 形式のキーが作成されない

ssh-keygen を使用して公開/秘密キー ペアを作成しようとしています。キーが PKCS1 形式である必要があり、"RSA 秘密キーである" と表示されます。何を試しても、PKCS8 形式でしか作成されないようです。この問題の原因について何か考えはありますか?

次のコマンドを実行しています:

 ssh-keygen -m PEM -t rsa -b 2048

私の理解では、-m PEM形式を指定するとPKCS1形式で作成されるはずです。キーのヘッダーには次のように記述されることを期待しています。

-----BEGIN RSA PRIVATE KEY-----

しかし、代わりに

-----BEGIN PRIVATE KEY-----

これは PKCS8 形式であると考えられます。これを修正する方法について何か考えはありますか? 私は openssh バージョン 7.4p1 を使用しています。

答え1

オプションの使用をやめて、-m PEM通常通りキーを生成してください。

答え2

ssh-keygenがサポートされていることを確認し-m、小文字形式の値 (例 ) を使用してみてください-m pem

例えば、

$ ssh-keygen -b 2048 -t rsa -m pem -f /tmp/pem_rsa -N "" 2>/dev/null 1>/dev/null && head -n2 /tmp/pem_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA1WLQy9mF43mVJTaTJq8e/aGs5HNMxHYx2wFra5tdMfEk3Li7

$ ssh-keygen -b 2048 -t rsa -m pkcs8 -f /tmp/pkcs8_rsa -N "" 2>/dev/null 1>/dev/null && head -n2 /tmp/pkcs8_rsa
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDLX2+JYL4Rf+JT

関連情報