![AWS EC2 AMI 的私钥和 ~/.ssh/authorized_keys 之间有什么联系?](https://linux22.com/image/517303/AWS%20EC2%20AMI%20%E7%9A%84%E7%A7%81%E9%92%A5%E5%92%8C%20~%2F.ssh%2Fauthorized_keys%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E8%81%94%E7%B3%BB%EF%BC%9F.png)
我有一个使用密钥对运行的 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 证书无关。