Amazon web services AWS CLI:密钥不是有效的OpenSSH公钥格式

Amazon web services AWS CLI:密钥不是有效的OpenSSH公钥格式,amazon-web-services,amazon-ec2,aws-cli,Amazon Web Services,Amazon Ec2,Aws Cli,如何解决这个问题 #我使用此命令创建带有密码的密钥 $ssh keygen-b2048-t rsa-C“awsfrankfurt”-f~/.ssh/awsfrankfurt #然后,当我尝试将其导入AWS EC2时,出现错误: $aws—地区eu-central-1 ec2导入密钥对\ --关键字名称“awsfrankfurt”\ --公钥材料~/.ssh/awsfrankfurt ImportKeyPair操作执行以下操作时发生错误(InvalidKey.Format): 密钥不是有效的Ope

如何解决这个问题

#我使用此命令创建带有密码的密钥
$ssh keygen-b2048-t rsa-C“awsfrankfurt”-f~/.ssh/awsfrankfurt
#然后,当我尝试将其导入AWS EC2时,出现错误:
$aws—地区eu-central-1 ec2导入密钥对\
--关键字名称“awsfrankfurt”\
--公钥材料~/.ssh/awsfrankfurt
ImportKeyPair操作执行以下操作时发生错误(InvalidKey.Format):
密钥不是有效的OpenSSH公钥格式

创建密钥,然后在调用aws的
--公钥材料
参数时,使用密钥路径前面的
文件://
调用它

示例:

$aws——地区eu-central-1 ec2导入密钥对\
--关键字名称“awsfrankfurt”\
--公钥材料文件://~/.ssh/awsfrankfurt#AWS仅支持
RSA
密钥对,不支持
DSA
ECDSA
Ed25519
密钥对。如果您尝试上载非
RSA公钥,则会出现此错误

这是记录在案的:

Amazon EC2不接受DSA密钥。确保您的密钥生成器是正确的 设置以创建RSA密钥

错误消息具有误导性,因为您可以上载有效的非
RSA
密钥并获取错误:

Error import KeyPair: InvalidKey.Format: Key is not in valid OpenSSH public key format

此答案对于搜索此错误消息后找到此页面的用户应该很有用。

如果在密钥路径之前添加前缀
文件://
,还有什么可能导致相同的错误消息?@guskrawford:尝试使用非RSA密钥也可能导致错误,请参阅我的答案。这不是asker创建的吗,RSA密钥?是的。我的回答是针对那些在谷歌搜索错误消息时进入此页面的人(如最后一行所述)。多亏了谷歌,很多时候浏览SO页面的大多数人都对不同问题的答案感兴趣,而不是对所陈述的问题感兴趣,这就是其中之一。