我刚刚注册了亚马逊的Elastic Beanstalk新产品。我不明白的是如何SSH到Beanstalk实例。我没有私钥,因为Beanstalk代表我生成了实例。


当前回答

根据您的环境配置,在为您的环境创建的EC2实例上可能没有公共IP地址。你可以通过以下方法查看:

转到EC2控制台 找到实例并检查Description选项卡 如果没有公共IP…… 在导航中单击“弹性IPs” 单击“分配新地址” 选择亚马逊的泳池 点击分配

最后,选择您的新EIP并从操作菜单中选择关联地址。将该IP与EC2实例关联。您现在应该能够使用eb ssh连接。

可以通过执行eb ssh——setup命令重置连接详细信息。

其他回答

使用当前UI为ElasticBeanstalk ec2实例设置键对的方向是: 警告:这将需要更新ElasticBeanstalk App中的EC2实例。 注意:在此之前,您需要在EC2仪表板中创建一个密钥对。

1)在AWS仪表板中,选择ElasticBeanstalk服务 2)选择要使用的应用程序。 3)选择“配置” 4)在“实例”配置框中选择齿轮(设置)图标。 5)这将带你到一个名为“服务器”的页面,在那里你可以更新“EC2密钥对”下拉字段与你想要的密钥对,并选择“保存”。

需要注意的一点是,这可能不适用于具有多个实例的应用程序(但我认为,如果它们都与密钥对位于同一区域,则可能如此)。

在EC2实例的“实例操作”菜单中有一个方便的“连接”选项。它将为您提供使用实例的正确url执行的确切SSH命令。杰布利的全部指示都是正确的。

根据您的环境配置,在为您的环境创建的EC2实例上可能没有公共IP地址。你可以通过以下方法查看:

转到EC2控制台 找到实例并检查Description选项卡 如果没有公共IP…… 在导航中单击“弹性IPs” 单击“分配新地址” 选择亚马逊的泳池 点击分配

最后,选择您的新EIP并从操作菜单中选择关联地址。将该IP与EC2实例关联。您现在应该能够使用eb ssh连接。

可以通过执行eb ssh——setup命令重置连接详细信息。

不要将ssh密钥添加到elastic beanstalk

正如其他人指出的那样,现在可以使用elastic beanstalk cli eb ssh连接到ec2实例。

如果你不能使用eb cli,而是使用awscli,或者来这里寻找一种简单的方法来ssh到任何ec2实例而不需要主密钥对,你也可以使用awscli aws ec2-instance-connect,如这里所述。

注意,cli方法要求您修改安全策略以允许ssh连接,而eb为您处理这两个问题。

这两种方法都需要一个带有EC2实例连接的AMI,这是目前的默认情况,比直接关联密钥更可取,因为您可以允许多个用户以这种方式连接,密钥只添加了很短的时间,您不需要预先考虑它,并且您可以通过IAM保持集中控制权限。如果密钥持有者离开团队,则不需要额外移除。 一般来说,我建议现在不要在ec2上设置ssh密钥对

如果您正在使用elastic bean和EB CLI,只需使用EB ssh登录到实例。您可以使用下列链接中指定的选项 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html