![无法通过 AWS 控制台从现有密钥对导入 EC2 密钥对(长度超过最大值)](https://linux22.com/image/568276/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20AWS%20%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%BB%8E%E7%8E%B0%E6%9C%89%E5%AF%86%E9%92%A5%E5%AF%B9%E5%AF%BC%E5%85%A5%20EC2%20%E5%AF%86%E9%92%A5%E5%AF%B9%EF%BC%88%E9%95%BF%E5%BA%A6%E8%B6%85%E8%BF%87%E6%9C%80%E5%A4%A7%E5%80%BC%EF%BC%89.png)
我想在一个可用区中使用另一个可用区的相同密钥对,但无法导入。如果我生成新密钥,则会收到相同的错误。
请参阅 AWS 控制台 > 网络和安全 > 密钥对 > 导入密钥对,然后选择现有的 EC2 密钥对,出现以下错误:
Value (LS0tL...tLS0t) for parameter PublicKeyMaterial is invalid. Length exceeds maximum of 1024
为什么导入的公钥对必须小于 AWS 生成的密钥对?
答案1
您正在尝试导入私钥文件。您应该只导入公钥文件。
在 Linux 上,您可以使用以下命令从私钥中提取公钥:
ssh-keygen -y -f KEYPAIR.pem
Amazon EC2 不需要知道您的私有 ssh 密钥。您应该保守这个秘密,不要与任何人分享,甚至不要与 Amazon 分享。
这是我写的一篇文章,其中描述了我建议您生成自己的默认 ssh 密钥并将其上传到 EC2:
将个人 ssh 密钥上传到 Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys
无论您在哪个区域运行 EC2 实例,这都可以更轻松地使用和访问它们。