Elastic Beanstalk ssh说找不到我的SSH密钥文件

时间:2019-09-16 21:32:15

标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk

我正在尝试登录EBElastic Beanstalkinstance。

eb ssh

然后我得到了错误:

  

错误:NotFoundError-EB CLI找不到密钥名“ myName”的SSH密钥文件。 SSH密钥文件必须位于主目录的.ssh文件夹中。

在我项目的根目录中,有一个目录:

.ssh

在其中放置了myName.pem,也只添加了myName,没有扩展名。

-----BEGIN RSA PRIVATE KEY-----
abunchofcharacters...blahblah
-----END RSA PRIVATE KEY----

我不确定为什么这不起作用。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

这种情况的解决方案可能是这样:

转到 EC2=>网络和安全=>密钥对,单击操作按钮并导入密钥对,为您的密钥对命名,然后在下一个字段中输入您的密钥对(来自您的本地计算机或任何环境你正在使用)

即要在您的环境中获取密钥对值:

<块引用>

cat ~/.ssh/id_rsa.pub

答案 1 :(得分:0)

您需要将密钥文件放在主目录下的.ssh目录中,而不是项目的根目录下。

Linux

在基于Linux的计算机上,您可以使用以下命令访问正确的目录

cd ~/.ssh

这是您需要放置密钥文件的地方。

Windows

在Windows计算机上,您需要将密钥文件放入的目录类似于

C:\Users\[ACCOUNT NAME]\.ssh

交换 [ACCOUNT NAME] 不管您使用什么Windows帐户。

我也强烈建议生成一个新的密钥对,并删除现有的密钥对-您现在可能已将其提交给版本控制,或者放在ELB实例的项目根目录中。两种情况都存在巨大的安全风险。

答案 2 :(得分:0)

在 linux 上 - 尝试使用 eb shh --interactive 命令创建一个新的密钥对。 阅读文档:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html

创建新密钥对后,您将需要转到 Elastic Beanstalk 环境将安全配置更新为新密钥对。