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