我刚刚注册了亚马逊的Elastic Beanstalk新产品。我不明白的是如何SSH到Beanstalk实例。我没有私钥,因为Beanstalk代表我生成了实例。
当前回答
使用当前UI为ElasticBeanstalk ec2实例设置键对的方向是: 警告:这将需要更新ElasticBeanstalk App中的EC2实例。 注意:在此之前,您需要在EC2仪表板中创建一个密钥对。
1)在AWS仪表板中,选择ElasticBeanstalk服务 2)选择要使用的应用程序。 3)选择“配置” 4)在“实例”配置框中选择齿轮(设置)图标。 5)这将带你到一个名为“服务器”的页面,在那里你可以更新“EC2密钥对”下拉字段与你想要的密钥对,并选择“保存”。
需要注意的一点是,这可能不适用于具有多个实例的应用程序(但我认为,如果它们都与密钥对位于同一区域,则可能如此)。
其他回答
不要将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密钥对
您需要使用ec2实例的公共ip地址直接连接到它。您无法使用elasticbeanstalk url进行连接。
可以通过在ec2控制台中查找实例ip地址。
您还需要确保端口22是开放的。默认情况下,ssh连接完成后,EB CLI会关闭22端口。您可以调用eb ssh -o在ssh会话完成后保持端口开放。
警告:你应该知道弹性豆茎可以在任何时候替换你的实例。在任何弹性豆茎实例上都不能保证状态。最好只将ssh用于测试和调试,因为您所修改的任何内容都可能随时消失。
使用当前UI为ElasticBeanstalk ec2实例设置键对的方向是: 警告:这将需要更新ElasticBeanstalk App中的EC2实例。 注意:在此之前,您需要在EC2仪表板中创建一个密钥对。
1)在AWS仪表板中,选择ElasticBeanstalk服务 2)选择要使用的应用程序。 3)选择“配置” 4)在“实例”配置框中选择齿轮(设置)图标。 5)这将带你到一个名为“服务器”的页面,在那里你可以更新“EC2密钥对”下拉字段与你想要的密钥对,并选择“保存”。
需要注意的一点是,这可能不适用于具有多个实例的应用程序(但我认为,如果它们都与密钥对位于同一区域,则可能如此)。
Elastic beanstalk CLI v3现在支持直接SSH命令eb SSH。如。
eb ssh your-environment-name
不需要设置安全组来查找EC2实例地址。
还有一个很酷的技巧:
eb ssh --force
这将临时强制端口22打开为0.0.0.0,并保持它打开,直到您退出。这混合了上面答案的一些好处,没有麻烦。您可以临时授予除您之外的其他人调试和诸如此类的访问权限。当然,您仍然需要将他们的公钥上传到主机,以便他们能够访问。一旦你这样做了(只要你在eb ssh内部),其他人就可以
ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
以上答案有点陈旧。
首先创建一个密钥对,然后将其附加到Elastic Beanstalk环境。
创建密钥对的步骤
登录AWS 服务—> EC2 .单击“确定” 在左边的网络和安全下选择密钥对 选择创建新的密钥对,键入密钥名称,然后单击创建。 密钥将自动下载到您的系统中。
将创建的密钥对附加到Elastic Beanstalk环境的步骤
AWS ->服务->弹性豆茎 选择您的环境并单击左侧的配置。 在“配置概览”中选择“安全性”中的“修改”。 在“虚拟机权限”下选择我们创建的密钥对。 单击“保存”,然后单击“保存配置”。
这将花费一些时间反映到您的EC2实例。
推荐文章
- 我如何获得亚马逊的AWS_ACCESS_KEY_ID ?
- 如何使所有对象在AWS S3桶公共默认?
- Git显示“警告:永久添加到已知主机列表”
- 为什么git在Windows下记不住我的密码
- SSH端口转发~/。ssh /配置文件?
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 为什么我应该使用亚马逊Kinesis而不是SNS-SQS?
- 如何重命名AWS S3 Bucket
- 如何在Bash脚本中使用密码执行sftp命令?
- 通过SSH配置Git登录一次
- AWS ECS中的任务和服务之间有什么区别?
- 亚马逊SimpleDB vs亚马逊DynamoDB
- 亚马逊ECS和亚马逊EC2有什么区别?
- 运行ssh后立即执行命令
- 我如何知道我在S3桶中存储了多少对象?