我可以删除Elastic Beanstalk实例的默认SSH密钥吗?

时间:2017-06-05 20:53:47

标签: amazon-web-services elastic-beanstalk

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

似乎 安全删除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

答案 2 :(得分:0)

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