Ben*_*ann 281 ssh amazon-ec2 amazon-web-services amazon-elastic-beanstalk
我刚刚注册了亚马逊的新Elastic Beanstalk产品.我无法弄清楚如何SSH到Beanstalk实例.我没有私钥,因为Beanstalk代表我生成了实例.
jab*_*ley 453
我发现这是一个两步的过程.这假设您已经设置了密钥对来访问相关区域中的EC2实例.
elasticbeanstalk-default如果已在该区域中启动Elastic Beanstalk实例,则应该具有安全组.编辑安全组以添加SSH访问规则.以下将锁定它以仅允许从特定IP地址进入.
SSH | tcp | 22 | 22 | 192.168.1.1/32
Run Code Online (Sandbox Code Playgroud)Existing Key Pair字段中选择密钥对的名称. 实例重新启动后,您需要从AWS Console EC2实例选项卡或通过API获取主机名.然后,您应该能够ssh到服务器上.
$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
注意:要将密钥对添加到环境配置,必须关闭实例的终止保护,因为Beanstalk将尝试终止当前实例并使用KeyPair启动新实例.
注意:如果某些内容无效,请检查Beanstalk应用程序/环境中的"事件"选项卡,找出问题所在.
Tal*_*Tal 122
Elastic beanstalk CLI v3现在支持使用该命令直接SSH eb ssh.例如
eb ssh your-environment-name
Run Code Online (Sandbox Code Playgroud)
无需设置安全组来查找EC2实例地址的麻烦.
还有这个很酷的伎俩:
eb ssh --force
Run Code Online (Sandbox Code Playgroud)
这会暂时强制端口22打开到0.0.0.0,并保持打开直到你exit.这种融合有点顶答案的好处,而麻烦.您可以临时授予您访问以外的其他人进行调试等等.当然,您仍然需要将他们的公钥上传到主机才能让他们有权访问.一旦你这样做(只要你在里面eb ssh),另一个人就可以
ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
mik*_*may 45
我在2013年8月使用linux客户端和简单的AWS Beanstalk安装(单个EC2实例)的经验如下(基于上面的社区Wiki)
awsweb...安全组,详细信息应显示在页面底部祝好运
Ray*_*hey 33
我也一直在玩这个.
该服务将重新启动,所以煮5分钟咖啡
在同一区域的ec2选项卡上,您将看到新的运行实例.使用3中添加的密钥将ssh命名为ec2-user,例如ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
sin*_*h30 19
以上答案有点旧.
首先创建一个密钥对,然后将其附加到Elastic Beanstalk环境.
创建密钥对的步骤
将创建的密钥对附加到Elastic Beanstalk环境的步骤
AWS - >服务 - > Elastic Beanstalk
选择您的环境,然后单击左侧的配置.
在Configuration overview中,从Security选择modify.
在虚拟机权限下,选择我们创建的密钥对.
单击"保存",然后单击"保存配置".
这需要一些时间来反映您的EC2实例.
Zag*_*ags 10
Amazon 发布了一种通过 SSM(简单系统管理器)通过 SSH 访问实例的更好方法。SSM 中的会话管理器工具允许您仅使用 AWS API 密钥进行 SSH。它比常规 SSH 更好,因为:
每个环境需要执行一次以下步骤。
转至 Elastic Beanstalk > ENVIRONEMNT_NAME > 配置 > 安全性并找到“IAM 实例配置文件”(默认情况下为“aws-elasticbeanstalk-ec2-role”)。这是步骤 2 中的 ROLE_NAME。
转到 IAM > 角色 > ROLE_NAME。在权限下,添加“AmazonSSMManagedInstanceCore”。
转至系统管理器 > 会话管理器 > 首选项 > 编辑。启用“运行方式支持”并将“运行方式默认用户”设置为“ec2-user”(或 Elastic Beanstalk 服务器的默认用户)。
请注意,IAM 更改可能需要一些时间(约 10 分钟)才能传播。如果您已完成 AWS 设置并收到“TargetNotConnected”错误,请等待 10-15 分钟,然后重试。
设置完成后,您现在可以选择三个选项来通过 SSH 连接到您的实例:
通过 AWS Web 控制台。转至 AWS Systems Manager > 会话管理器 > 启动会话。选择您想要通过 SSH 连接的机器。这将在您的浏览器中启动 SSH 终端。
使用 AWS CLI。请参阅下面的“AWS CLI 设置”说明。
使用eb-ssm。eb-ssm 是一个命令行工具,可以直接替代 EB CLI 命令eb ssh。它通过包装 AWS CLI 并搭载您的 EB CLI 配置来实现此目的。请注意,eb-ssm 还需要以下“AWS CLI 设置”步骤
如果您想使用 AWS CLI 或 eb-ssm 从终端进行 SSH,请执行以下步骤。这些步骤需要在每台计算机上执行一次。
免责声明:我是 eb-ssm 的主要作者。
如果您使用弹性bean和EB CLI,只需使用eb ssh登录实例.您可以使用以下链接中指定的选项
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html
在 Mac 上,您可以使用 brew 安装 cli:
brew install awsebcli
Run Code Online (Sandbox Code Playgroud)
使用命令行工具,您可以使用以下命令进行 ssh:
eb ssh environment-name
Run Code Online (Sandbox Code Playgroud)
并进行其他操作。这假设您已经添加了一个允许从您的 IP 进行 ssh 的安全组。