Openssl
pem 文件差異 - ssh-keygen 與 openssl
我使用生成了我的公鑰/私鑰對
ssh-keygen -t rsa -b 2048 -v
然後需要一個 .pem 文件並遵循此https://serverfault.com/questions/706336/how-to-get-a-pem-file-from-ssh-key-pair
ssh-keygen -f id_rsa -e -m pem -----BEGIN RSA PUBLIC KEY-----
但後來我發現了這個https://gist.github.com/mingfang/4aba327add0807fa5e7f
openssl rsa -in ~/.ssh/id_rsa -outform pem -----BEGIN RSA PRIVATE KEY-----
為什麼輸出不同?
它們就是這樣寫的;
PEM_write_RSAPublicKey(stdout, k->rsa)
OpenSSH 通過呼叫 的do_convert_to_pem
函式發出公鑰材料ssh-keygen.c
,而 OpenSSL 則對給定的私鑰進行操作。使用 OpenSSH,我想大多數情況是將公鑰轉換為可在某些外部伺服器上使用的形式,而私鑰在客戶端系統上保持私有,因此對密鑰對的公鑰進行操作是有意義的. 使用 OpenSSL,沒有“將公鑰轉換為適合其他 SSH 伺服器的形式”的問題,因此程式碼直接在私鑰上執行。不同的程式碼,不同的意圖,不同的結果。