如果某人拥有多个 EC2 实例的 .pem 密钥对并离开公司,那么删除该密钥访问权限的最佳做法是什么?假设只是从 AWS 控制台删除密钥并不能拒绝他们访问所有实例,那么有没有一种聪明的方法来审核和删除他们的访问权限?如果我没有密钥文件的副本,如何确定他们没有将公钥添加到其他实例?
假设 Ubuntu 12.04 EC2 实例
答案1
安装后,Amazon 不会再对您的实例执行任何操作,因此我认为他们没有提供针对这种情况的功能。您可以编写一个脚本来循环遍历所有实例并检查他的密钥是否存在(虽然不太好,但可以工作 :) ):
for INSTANCE in $(ec2-describe-instances | grep INSTANC | grep running | awk '{print $4;}')
do
ssh -lec2-user -oStrictHostKeyChecking=no $INSTANCE 'cat ~/.ssh/authorized_keys | grep mtak'
if [ $? -eq 0 ];
then
echo $INSTANCE
fi
done
您还可以添加sed
在线命令以从authorized_keys文件中删除密钥。
答案2
作为一项安全措施,您还可以使用安全组设置限制网络范围内 IP 地址对您服务器的访问。这样,您可以阻止人们访问您的 EC2 实例,尽管他们有 .pem 密钥对