產生 ssh 金鑰而不是建立 PKCS1 格式的金鑰

產生 ssh 金鑰而不是建立 PKCS1 格式的金鑰

我正在嘗試使用 ssh-keygen 建立公鑰/私鑰對。我需要金鑰採用 PKCS1 格式,以便它顯示「BEING RSA PRIVATE KEY」。無論我嘗試什麼,它似乎都只能以 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

相關內容