如何为我的AWS-EB实例启用SSH?

时间:2015-01-13 17:04:24

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

我有一个工作的AWS Elastic Beanstalk实例,其中包含一个附加的RDS数据库,并希望从我的开发机器启用SSH。最好的方法是什么?具体地,

  • 我可以从AWS控制台和
  • 执行此操作
  • 我能保留所有当前的EB设置和结构吗?

我累了eb ssh --setup,但收到了错误

ERROR: Updating Auto Scaling launch configuration failed Reason: API: autoscaling:CreateLaunchConfiguration User: arn:aws:iam::123456789123:user/myiamusername is not authorized to perform: iam:PassRole on resource: arn:aws:iam:: 123456789123:role/aws-elasticbeanstalk-ec2-role

并且我不确定如何继续。

我想我可以向用户添加jam:PassRole(如果我可以找出与AWS控制台模板列表中对应的策略),或者我可以添加新用户并切换到对于SSH设置和可能的访问(如果我知道如何做)或者我可以在AWS控制台上使用我的root用户来添加SSH支持(如果可能的话;但即使它是,我也不会#39 ;看看怎么样)。我不确定哪一种,如果有的话,是最好的方法;或者如何完成任何一个?

将SSH访问权限添加到现有AWS-EB实例的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

要将ssh添加到EB实例,请首先确保您知道它当前使用的策略。 在EB web console中,转到环境,然后转到“配置”,再转到“实例”。您将在那里看到实例配置文件名称 现在转到您的IAM console并找到该角色。这是我在那里的政策,它允许我将SSH添加到环境中:
{ "Version": "2015-01-14", "Statement": [ { "Action": [ "autoscaling:Describe*", "cloudwatch:*" ], "Effect": "Allow", "Resource": "*" } ] }

答案 1 :(得分:0)

使用EB CLI执行eb ssh --setup是最直接的方法。但它需要您具有传递角色和访问ec2安全组的权限。

为了将ssh添加到任何环境,您需要做的就是为环境分配一个ssh密钥对。如果您已经设置了ec2密钥对,则可以使用Elastic Beanstalk Web控制台进行此分配。否则,您必须先创建一个密钥对。