
我正在嘗試使用 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