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

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

请参阅AWS控制台>新build和安全>密钥对>导入密钥对,然后select现有的EC2密钥对,出现以下错误:

Value (LS0tL...tLS0t) for parameter PublicKeyMaterial is invalid. Length exceeds maximum of 1024 

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

您正试图导入私人ssh密钥文件。 您应该只导入公用ssh密钥文件。

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

 ssh-keygen -y -f KEYPAIR.pem 

Amazon EC2不需要知道您的私人密钥。 你应该保守这个秘密,不要把它分享给任何人,甚至不是亚马逊。

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

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

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