SSH到Elastic Beanstalk实例

我刚刚注册了亚马逊的新Elastic Beanstalk产品并热爱它。 我无法弄清楚的是如何SSH到一个Beanstalk实例。 我没有私钥,因为Beanstalk代表我创建实例。 想法?

谢谢,Benno


我发现它是一个两步过程。 这假定您已经设置了一个密钥对来访问相关区域中的EC2实例。

配置安全组

  • 在AWS控制台中,打开EC2选项卡。
  • 选择相关区域并点击安全组。
  • 如果您在该区域中启动了Elastic Beanstalk实例,则应该有一个elasticbeanstalk-default安全组。
  • 编辑安全组以添加SSH访问规则。 以下将锁定它以仅允许来自特定IP地址的入口。

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    
  • 配置Elastic Beanstalk应用程序的环境

  • 如果您还没有创建密钥对,请在ec2选项卡中单击安全组下的密钥对来创建密钥对。
  • 在AWS控制台中,打开Elastic Beanstalk选项卡。
  • 选择相关区域。
  • 选择相关的环境
  • 在左侧窗格中选择配置。
  • 选择实例。
  • 在“EC2密钥对:”下,在Existing Key Pair字段中选择密钥对的名称。
  • 实例重新启动后,您需要从AWS Console EC2实例选项卡或通过API获取主机名。 然后您应该能够SSH到服务器上。

    $ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com
    

    注意:为了将密钥对添加到环境配置中,必须关闭实例的终止保护,因为Beanstalk会尝试终止当前实例并使用KeyPair启动新实例。

    注意:如果某些内容不起作用,请检查Beanstalk应用程序/环境中的“事件”选项卡,并查明出了什么问题。


    弹性beanstalk CLI v3现在支持使用命令eb ssh直接SSH。 例如

    eb ssh your-environment-name
    

    不需要设置找出EC2实例地址的安全组的麻烦。

    还有一个很酷的诀窍:

    eb ssh --force
    

    这会暂时强制端口22打开到0.0.0.0,并保持打开状态直到您exit 。 这融合顶级答案的一些好处,没有麻烦。 您可以临时授予除您以外的其他人的调试权限和其他权限。 当然,你仍然需要将他们的公钥上传到主机,以便他们有权访问。 一旦你这样做(只要你在eb ssh ),另一个人就可以

    ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
    

    我在2013年8月使用Linux客户端和简单的AWS Beanstalk安装(单个EC2实例)的经验如下(基于上面的Community Wiki)

    配置安全组

  • 在AWS控制台中,选择EC2以转至EC2控制台
  • 通过单击左侧面板上的Instances来发现EC2实例所属的安全组,然后选择要连接的实例(在我的情况下只有一个 - 称为Default Environment)。 详细信息显示在页面的底部 - 您应该看到安全组的字段 - 记下名称 - 在我的情况下是“awsweb ...”。
  • 从左侧面板选择安全组。
  • 选择awsweb...安全组,详细信息应显示在页面的底部
  • 选择入站选项卡,然后从“创建新规则”下拉列表中选择SSH。 插入本地计算机的IP地址/ CIDR(您打算从中连接),例如192.168.0.12/32,然后单击添加规则和应用规则更改。
  • 创建公私钥对

  • 从EC2仪表板中,从左侧面板中选择密钥对
  • 点击密钥对(在顶部)并输入一个名称,如myname-key-pair-myregion或任何你喜欢的有效密钥名称。
  • 确认并接受从浏览器下载的私钥,例如将其保存到您的主目录或您喜欢的任何地方。 确保目录只有你的写权限。
  • 将公用密钥对与Elastic Beanstalk EC2服务器相关联

  • 要将公钥 - 私钥对添加到Elastic Beanstalk EC2实例,请执行以下操作:服务 - > Elastic Beanstalk - >我的应用程序 - >默认环境将您带到默认环境(您上传应用程序的环境)
  • 点击配置(在左侧面板上),然后点击与“实例”关联的齿轮/齿轮
  • 显示标题为“服务器”的页面
  • 从EC2密钥对中选择预建的密钥参数,然后执行保存
  • 显示一些警告消息,所以再次保存。
  • 使用SSH连接到AWS EC2实例

  • 在终端会话中更改为包含您的私钥(.pem文件)的目录。
  • 如果你有几次这样做,你应该做一些关于.ssh / known_hosts的东西,如果你有一个如重命名它。 否则,您可能会收到有关主机身份已更改的错误。
  • Do:ssh -i ./myname-key-pair-my-region.pem ec2-user@ec2-some-address.us-west-2.compute.amazonaws.com
  • 祝你好运

    链接地址: http://www.djcxy.com/p/32539.html

    上一篇: SSH to Elastic Beanstalk instance

    下一篇: Getting a Rack GemNotFound with Sinatra