我曾经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
。