我曾經ssh-keygen -t rsa
產生一對密鑰。公鑰儲存在檔案“id_rsa.pub”中,其中包含“ssh-rsa AAA...idJ[電子郵件受保護]」。
然後我使用了ssh-keygen -y
(在如何檢查我的 rsa 密碼?) 取得 SSH 公鑰。然而,使用這種方法獲得的公鑰僅包含“ssh-rsa AAA...idJ”。 (即它沒有最後一部分“[電子郵件受保護]”)
我想問為什麼這兩種方法產生的公鑰有差別?
答案1
密鑰本身沒有區別。最後一部分是「評論」欄位。
如果您使用傳統格式的id_rsa
金鑰檔案(以“RSA PRIVATE KEY”開頭的檔案),它根本沒有任何標準位置可以存儲店鋪註釋,因此 ssh-keygen 無處可獲取它。 (這是 OpenSSH 採用的通用金鑰格式,因為它的加密庫已經有了它。)
「新」OpenSSH 私鑰格式(標有「OPENSSH PRIVATE KEY」的格式)做有一個評論字段,ssh-keygen 可以很好地提取它。如果你想轉換你的私鑰,你可以ssh-keygen -p
在新的OpenSSH版本上使用;ssh-keygen -o -p
在稍舊的評論上,然後使用實際設定新評論ssh-keygen -c
。