如何删除AWS密钥对的访问?

如果某个拥有多个EC2实例的.pem密钥对的人离开公司,那么删除该密钥的最佳做法是什么? 大概简单地从AWS控制台删除密钥不会拒绝他们访问所有实例,所以有一个聪明的方式来审计和删除他们的访问? 如果我没有密钥文件的副本,怎么能确定他们没有将公钥添加到其他实例?

假设Ubuntu 12.04 EC2实例

安装之后,Amazon不再对你的实例做任何事情,所以我不认为他们有function提供这种情况。 你可以破解一个脚本来遍历所有的实例,并检查他的密钥是否在那里(这不是很好,但它会工作:)):

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 on-liner从authorized_keys文件中删除密钥。

作为安全措施,您还可以使用安全组设置来限制您的networkingIP地址范围内的服务器访问。 通过这种方式,您可以阻止人们访问您的EC2实例数量,尽pipe它们具有.pem密钥对