【问题标题】:Can I remove the default SSH key of an Elastic Beanstalk instance?我可以删除 Elastic Beanstalk 实例的默认 SSH 密钥吗?
【发布时间】:2017-11-06 17:36:10
【问题描述】:

我希望锁定我的 AWS Elastic Beanstalk 实例的安全性。实际上,我使用 Chef 管理我的 beanstalk 实例,并使用它来将单个开发人员 SSH 密钥部署到实例。

我不再需要 beanstalk 放在服务器上的密钥。我可以从授权的密钥文件中安全地删除它吗?我无法从 Amazon 找到任何关于这是否会干扰部署或更改环境属性的文档。

【问题讨论】:

  • 使用一个服务来管理你的机器然后扔掉大部分机器似乎很奇怪。 Beanstalk 基本上只是带有负载均衡器和自动缩放组的 EC2 - 使用 Chef 而不是 frankenservice 会更容易吗?
  • 问题是我的公司已经在没有devops 的人的情况下运行了这么长时间,他们在beantalk 中做了所有事情。他们现在还不想摆脱豆茎的舒适,但他们希望对实例有更多的控制权。在他们依赖预制自动化的区域之间很有趣;他们想要更多的自动化;但不愿意投入资源来重写 beanstalk 提供的部署或监控。我只有一个人在做这件事,所以一个人在内部重做豆茎的概念会很多。

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


【解决方案1】:

如果您使用 EC2KeyName Elastic Beanstalk 配置选项配置了 EC2 密钥对,则可以使用 AWS CLI 将其删除:

aws elasticbeanstalk update-environment --environment-name $ENV \
    --options-to-remove 'Namespace=aws:autoscaling:launchconfiguration,OptionName=EC2KeyName'

【讨论】:

    【解决方案2】:

    似乎删除 beanstalk 放置在实例上的密钥安全的。为了测试,我继续在一些测试环境中删除了它:一个是 NodeJS beanstalk 应用程序,另一个是 Tomcat/Java 应用程序。

    从我第一次登录开始,我就运行lastlog 来查看谁登录了。我截断了列表以隔离相关的:

    $ lastlog
    Username         Port     From             Latest
    root             pts/0                     Mon Jun  5 16:27:42 -0400 2017
    ec2-user                                   **Never logged in**
    xray                                       Thu May 18 03:10:54 -0400 2017
    apache                                     **Never logged in**
    healthd                                    Thu May 18 03:11:02 -0400 2017
    nodejs                                     Thu May 18 03:17:18 -0400 2017
    my-custom-user   pts/0    10.10.x.x        Mon Jun  5 16:27:39 -0400 2017
    

    我更新了环境属性,甚至部署了一个新版本。 ec2-user 仍然显示为 **Never logged in**

    看起来 Beanstalk 的自动化正在使用 nodejstomcat 用户来执行任务,具体取决于 beanstalk 应用程序类型。这是我在/var/log/secure 看到的:

    Jun  5 16:53:40 node-name su: pam_unix(su:session): session closed for user nodejs
    Jun  5 16:53:54 node-name su: pam_unix(su:session): session opened for user nodejs by (uid=0)
    Jun  5 16:53:54 node-name su: pam_lastlog(su:session): unable to open /var/log/btmp: No such file or directory
    

    【讨论】:

      【解决方案3】:

      您可以从 AWS 控制台(Web 界面)中删除 ssh 密钥对,它位于 EC2 -> 网络和安全 -> 密钥对中,您可以从那里删除您可能从 Elastic Beanstalk CLI 创建的任何密钥对。

      【讨论】:

        猜你喜欢
        • 2020-01-17
        • 2021-09-06
        • 2015-10-06
        • 1970-01-01
        • 1970-01-01
        • 2018-05-17
        • 1970-01-01
        • 1970-01-01
        • 2018-04-18
        相关资源
        最近更新 更多