无法通过 AWS 控制台从现有密钥对导入 EC2 密钥对(长度超过最大值)

KCD*_*KCD 4 public-key amazon-ec2 amazon-web-services

我想在另一个可用区中使用相同的密钥对,但我无法导入它。如果我生成一个新密钥,我会得到同样的错误。

请参阅 AWS 控制台 > 网络和安全 > 密钥对 > 导入密钥对,然后选择现有的 EC2 密钥对,我收到以下错误:

Value (LS0tL...tLS0t) for parameter PublicKeyMaterial is invalid. Length exceeds maximum of 1024
Run Code Online (Sandbox Code Playgroud)

为什么导入的公钥对必须小于 AWS 生成的密钥对?

Eri*_*ond 9

您正在尝试导入私有 ssh 密钥文件。您应该只导入公共 ssh 密钥文件。

在 Linux 上,您可以使用以下方法从私钥中提取公钥:

ssh-keygen -y -f KEYPAIR.pem
Run Code Online (Sandbox Code Playgroud)

Amazon EC2 不需要知道您的私有 ssh 密钥。你应该保守这个秘密,不要与任何人分享,甚至亚马逊也不行。

这是我写的一篇文章,它描述了我的建议,即您生成自己的默认 ssh 密钥并将其上传到 EC2:

将个人 ssh 密钥上传到 Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys

这使您可以更轻松地使用和访问 EC2 实例,无论您在哪个区域运行它们。