【问题标题】:PuTTYgen doesn't give me the option for SSH-2 RSAPuTTYgen 没有为我提供 SSH-2 RSA 的选项
【发布时间】:2017-03-07 15:12:54
【问题描述】:
多年来,我一直从 Ubuntu 访问我的 AWS EC2 实例,没有遇到任何问题。我还想从 Windows 机器连接到它。该过程似乎很简单......将我的*.pem文件复制到Windows机器并使用PuTTYgen转换为*.ppk。
亚马逊说明提供以下内容...
但是当我打开 PuTTYgen 时,我得到...
没有可用于 SSH-2 RSA 的选项。
我在这里缺少什么?如果没有给定选项,如何以 SSH-2 RSA 格式创建 .ppk?
【问题讨论】:
标签:
amazon-web-services
putty
pem
【解决方案1】:
TLDR:只需跳过第 2 步:
-
在要生成的密钥类型下,选择RSA。
如果您使用的是旧版本的 PuTTYgen,请选择 SSH-2 RSA。
此处的 AWS 文档有误。 要在 PuTTYgen 中转换现有的私钥文件(pem 到 ppk),您无需选择密钥类型。 PuTTYgen 会自动从私钥文件中检测密钥类型。您将在顶部的两个框中看到 loaded 键的键类型。
另请注意,虽然目前 AWS 始终生成 RSA 密钥,但如果他们改变了这一点,请不要担心并保留生成的密钥,无论它是什么类型。
文档错误引用的选择仅用于“生成”新密钥(正如其标签明确指出的那样)。它对转换现有密钥完全没有影响。
无论如何,回答这个问题:这是第一个“RSA”选项:
如今,SSH-2 已成为事实上的标准。因此,在最新版本的 PuTTYgen 中,他们选择不明确提及版本(为新的 ECDSA 和 ED25519 密钥类型节省空间)。
AWS 文档中的屏幕截图来自不支持 ECDSA 和 ED25519 密钥类型的旧版 PuTTYgen。
检查PuTTYgen documentation。它明确提到所有密钥类型(“SSH-1 (RSA)” 明显例外)都用于 SSH-2。
SSH 协议的当前版本 SSH-2 支持多种不同的密钥类型,尽管特定的服务器可能不支持所有这些类型。 PuTTYgen 可以生成:
- 用于 SSH-2 协议的 RSA 密钥。
- 用于 SSH-2 协议的 DSA 密钥。
- 用于 SSH-2 协议的 ECDSA(椭圆曲线 DSA)密钥。
- 用于 SSH-2 协议的 EdDSA 密钥(爱德华兹曲线 DSA,另一种椭圆曲线算法)。
PuTTYgen 还可以生成适用于旧 SSH-1 协议(仅支持 RSA)的 RSA 密钥;为此,您需要选择“SSH-1 (RSA)”选项。由于 SSH-1 协议不再被认为是安全的,因此很少需要此选项。