Answers:
保护EC2密钥对(仅SSH密钥)的最佳方法是使用密码短语对它们进行加密(并遵循该密码短语的常规密码管理过程)。假设您使用的是Linux,则可以使用ssh-keygen -p -f $file
加密密钥。您应该保留一个备份,最好以物理方式固定(例如,将拇指驱动器放在保险箱中)。我假设您正在谈论密钥的私密部分,因为公钥显然是公钥。
从理论上讲,将密钥存储在工作站上的TPM或智能卡上会更好,但是在处理SSH密钥时,此解决方案通常存在实际问题。
将密钥存储在家用PC上是否不好取决于这是否违反政策。坦白说,如果不是这样,那么没有什么比将其存储在用于工作的笔记本电脑上更糟糕的理由了。
您当然可以在S3中保留密钥的备份(而不是物理备份)。威胁模型是这样的,如果有人能够访问您的AWS帐户,那么您已经过了非常糟糕的一天(就数据泄漏和服务中断而言)。但是,除非有一些安全主体可以使用您的密钥访问S3存储桶,但不允许其登录计算机,否则您将需要寻找另一种方法。如果将副本存储在S3中,则至少要确保使用密码对它进行了加密。
好吧,公钥可以存储在您想要的任何位置。例如,在您的额头上纹身。:)
私钥是您需要保护的,因为它确实是您的身份。接触到(未加密的)密钥的任何人都可以使用您的服务器。因此,像保护其他重要但机密文件一样,对其进行保护和备份。对其进行加密并将其保存在闪存驱动器上,将其打印在纸上并将其存储在万不得已的保险箱中,等等。如果您想将其存储在S3中,那也许还可以,但是我只能在它的存储库中这样做加密形式。