我希望在我的AWS弹性Beanstalk实例上锁定安全性。我实际上是与厨师一起管理的beanstalk实例,我用它来部署个人开发人员SSH键。
我不再需要Beanstalk在服务器上放置的钥匙。我可以安全地将其从授权密钥文件中删除吗?我找不到亚马逊的任何文档,涉及这是否会干扰部署或更改环境属性。
如果使用EC2KeyName
弹性Beanstalk配置选项配置了EC2键对,则可以使用AWS CLI删除它:
aws elasticbeanstalk update-environment --environment-name $ENV
--options-to-remove 'Namespace=aws:autoscaling:launchconfiguration,OptionName=EC2KeyName'
看来,可以安全地删除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的自动化是使用nodejs
或tomcat
用户,具体取决于Beanstalk App类型,用于其任务。这是我在/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
您可以从AWS控制台(Web接口(中删除SSH键对,它在EC2-&GT中;网络&安全 - >钥匙对,从那里您可以删除您可能从Elastic Beanstalk Cli创建的任何键对。