我一直在努力使用AWS私钥,因为我试图保持所有的AWS证书的安全性,安全性和组织性。 我是否应该为多个EC2实例使用相同的AWS密钥,还是每个实例都有其唯一的私钥?
我一直在寻找这方面的最佳做法。 如果你能解释为什么,我会非常感激。
我一直倾向于给每个实例分配安全性的独特私钥的做法。
提前致谢!
只是扩大@steenhulthin答案。
我认为最好把EC2生成的密钥对作为实例的主密钥,这是可选的。 这不是pipe理用户级访问的系统。
我相信最好的做法如下
我是否需要远程login到实例?
是:使用密钥对创buildEC2实例
我相信最好的做法是每个实例创build一个EC2密钥对。 如果一个密钥对被暴露的风险限于这个实例。 然而,每个实例的密钥对可能难以pipe理,如果是这种情况,可以find一些合理的方法来分组您的实例,并为每个组使用一个密钥对。 例如按angular色或angular色和应用程序分组。
NO:创build没有密钥对的EC2实例。
这显然更安全,因为你没有丢失/妥协的关键。 实例本质上不能通过传统方法访问。 遵循这种方法需要实例pipe理/configuration完全自动化(厨师,木偶等),是一个更昂贵的select。 总的来说,这样可以让这个实例有更多的安全性,这取决于你的自动化是如何configuration的。
pipe理EC2密钥对的最佳做法是什么? 这是我目前没有很好的答案。
你需要允许人类远程访问实例? 正如@steenhulthin所build议的,为每个用户创build本地用户帐户,或使用一些集中的authentication和授权。
此外,您还可以维护一个专用的远程pipe理访问实例(SSH或RDP),只能公开访问(IP地址明智),并将所有其他实例上的SSH和/或RDP限制在pipe理工作站上。
我认为这个问题可能更适合于serverfault.com。
这就是说:如果你单独工作的实例,我没有看到每个实例创build密钥对的任何意义。 我认为密钥对应该是每个用户。
如果多用户应该访问机器,我会添加一个新的密钥对ec2实例,如下所述: https ://forums.aws.amazon.com/message.jspa?messageID=185184和一些关于密钥对生成过程的详细说明这里: http : //seabourneinc.com/2011/01/19/change-key-pairs-on-aws-ec2-instance/
我写了一篇关于SSH最佳实践的文章,包括密钥pipe理,端口转发和代理转发。 你可能会觉得它很有用。 这是链接 。
一些好的事情是:
还有一些与SSH和用户访问文章提到的其他东西有关。