今天触发远程桌面管理器,其 SSH 密钥生成器提供保存私钥的功能OpenSSH格式,然后将其存储在PKCS#1 / OpenSSL格式,同时*.pri
对提供的两种格式使用相同的随机文件扩展名。
我只是想连接到 AWS EC2 实例,但 WinSCP、FileZilla 和 PuTTY 都使用不同的私钥格式。
请随意提供更多见解,这只是我目前不完整的理解。
答案1
文件扩展名通常是随机的或者不足以识别格式。
广泛的分类:
PEM 文件换行Base64-----BEGIN-----
和“标签”之间-----END-----
。它们也常用于包含私钥和 SSL 证书(-chain)。使用在线 ASN.1 解码器检查 PEM 文件的 Base64 内容。
PEM 文件
PKCS#1/ OpenSSL密钥对:id_rsa,*.pem,*.der,*.key,...
-----BEGIN RSA PRIVATE KEY-----
PuTTY Key Generator 将此称为“OpenSSH SSH-2 私钥(旧 PEM 格式)”(?)。根据这个答案.Base64 以 开头MII...
。ASN.1 内容。更多信息。
PKCS#8格式:*.pem,*.der,*.key,...
-----BEGIN PRIVATE KEY-----
或者-----BEGIN ENCRYPTED PRIVATE KEY-----
未加密版本的 Base64 以MII...IBADAN
.ASN.1 内容开头,基本上是 PKCS#1 加上版本信息。更多信息。
OpenSSH:*.???(不知道典型的文件扩展名是什么)
-----BEGIN OPENSSH PRIVATE KEY-----
外部是 PEM,但非 ASN.1 内容。显然有些未记录的格式。
非 PEM 文件
PuTTY 私钥:*.ppk
内容还包含人类可读的文字,标识其为 Putty 私钥。
PKCS#12 / PFX:*.p12,*.pfx
PFX 是 Microsoft 的一种格式,后来以 PKCS#12 的清理形式发布。内容是二进制的,不仅可以包含私钥,还可以包含 SSL 证书(-chain)。