AWS EC2 AMI 的私钥和 ~/.ssh/authorized_keys 之间有什么联系?

AWS EC2 AMI 的私钥和 ~/.ssh/authorized_keys 之间有什么联系?

我有一个使用密钥对运行的 EC2 实例,但我无权访问其私钥。

由于我自己的自定义密钥对的公钥已添加到实例上的 ~/.ssh/authorized_keys,我现在可以自由访问该实例。

现在我想将正在运行的实例重新捆绑到新的 AMI 中,并按照此处的说明进行操作:http://alestic.com/2009/06/ec2-ami-bundle

但是,由于我无法访问与当前为实例定义的相同的私钥,因此我想知道:

  • 我应该将哪个私钥上传到实例上的 /mnt?(实际上,我不完全理解私钥的用途,如果捆绑所做的只是将实例“磁盘”的本地状态处理到捆绑的本地文件中)

  • 如果我没有通过 .ssh 排除我的主目录,即使我没有该实例的私钥,我是否能够启动并连接到该实例?

答案1

AWS 私钥与您的 X.509 证书相关联;它与 SSH 私钥不同。请参阅此AWS 安全凭证摘要

X.509 证书与您的 AWS 账户相关联,而不是与单个 EC2 实例相关联;如果您使用自定义 AMI 启动新实例,它将与您账户中定义的 X.509 证书和私钥相关联。

如果您还拥有一个包含捆绑到 AMI 中的个人 SSH 公钥的 authorized_keys 文件,那么您应该能够使用自己的 SSH 密钥登录 - 这与用于验证 AWS API 调用的 X.509 证书无关。

相关内容