PuTTYgen无法提供SSH-2 RSA选项

48
我已经长期在Ubuntu上访问我的AWS EC2实例,没有任何问题。我想也从Windows机器连接它。该过程似乎很简单...将我的*.pem文件复制到Windows机器并使用PuTTYgen转换为*.ppk
Amazon的说明提供了以下内容...

enter image description here

但是当我打开PuTTYgen时,我得到了...

enter image description here

没有SSH-2 RSA的选项可用。
我在这里缺少什么?当没有给定选项时,如何创建SSH-2 RSA格式的.ppk文件?
2个回答

75

TLDR: 只需跳过第2步:

  1. 要生成的密钥类型下,选择RSA

    如果您使用较旧版本的PuTTYgen,请选择SSH-2 RSA


这里AWS文档有误。要在PuTTYgen中将现有的私钥文件(pem转ppk)进行转换,无需选择密钥类型。 PuTTYgen会自动从私钥文件中检测到密钥类型。您可以在两个顶部框中看到已加载密钥的密钥类型。

进入图像描述

此外,请注意,尽管目前AWS始终生成RSA密钥,但如果他们改变了,只需要保持密钥与其生成方式相同,不管是什么类型。


文档错误引用的选择仅用于仅“生成”新密钥(如其标签所示)。对于转换现有密钥,它根本没有任何影响。


无论如何,回答问题:这是第一个"RSA"选项:

进入图像描述

SSH-2现在是事实上的标准。因此,在最新版本的PuTTYgen中,他们选择不明确提及版本(以节省ECDSA和ED25519密钥类型的空间)。

AWS文档中的屏幕截图来自旧版的PuTTYgen,该版本不支持ECDSA和ED25519密钥类型。

请查看PuTTYgen文档,其中明确提到除了"SSH-1 (RSA)"之外的所有密钥类型都适用于SSH-2。

SSH协议的当前版本,即SSH-2,支持多种不同的密钥类型,尽管特定服务器可能不支持所有密钥类型。 PuTTYgen可以生成以下内容:

  • 用于SSH-2协议的RSA密钥。
  • 用于SSH-2协议的DSA密钥。
  • 用于SSH-2协议的ECDSA(椭圆曲线DSA)密钥。
  • 用于SSH-2协议的EdDSA密钥(Edwards-curve DSA,另一种椭圆曲线算法)。

PuTTYgen还可以生成适用于旧版SSH-1协议(仅支持RSA)的RSA密钥;对此,您需要选择“SSH-1(RSA)”选项。由于SSH-1协议不再被认为是安全的,因此很少需要使用此选项。


1
  • 点击密钥选项,您将找到SSH-2 RSA

请选择并继续操作。附上截图。

打开图片以供参考

编程愉快 :)


4
这个回答似乎是现有答案的简化重复。 - ouflak
1
如上所述,不需要点击“Key”。在旧版本的PuttyGen中,曾经有一个明确的“SSH-2 RSA”选项。新版本都默认为“SSH-2 RSA”。只需选择“RSA”。这就是“SSH-2 RSA”。 - paulsm4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接