AWS SSH 访问密钥生成过程并安装在 EC2 上

Posted

技术标签:

【中文标题】AWS SSH 访问密钥生成过程并安装在 EC2 上【英文标题】:AWS SSH access key generation procedure and putting on EC2 【发布时间】:2020-09-18 21:08:46 【问题描述】:

我想知道 AWS EC2 如何将 SSH 公钥放在实例上并将私钥提供给最终用户。我的意思是了解创建 SSH 密钥并将其放在 EC2 实例上的过程是如何自动化的。

【问题讨论】:

当您生成 ec2 实例时,AWS 要求您提供密钥对!这就是 aws 在 ec2 实例中映射公钥的方式 请将您的问题移至Super User(在此处删除,在此处重新发布)。这是off-topic here。 【参考方案1】:

密钥对通过 EC2 元数据服务传递给实例。

来自Amazon EC2 key pairs and Linux instances - Amazon Elastic Compute Cloud:

您在启动实例时指定的公钥也可通过其实例元数据获得。要查看您在启动实例时指定的公钥,请在您的实例中使用以下命令:

curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

预先安装在 AMI 上的“首次启动”脚本使用上述方法检索公钥,然后插入到 /home/ec2-user/.ssh/authorized_keys 文件中。

请注意,如果使用实例元数据 v2,则此方法略有不同,如链接页面中所述。

【讨论】:

【参考方案2】:

这个过程实际上是在实例作为user data 的一部分启动时执行的。

【讨论】:

以上是关于AWS SSH 访问密钥生成过程并安装在 EC2 上的主要内容,如果未能解决你的问题,请参考以下文章

在 Terraform 管理的 AWS EC2 SSH 堡垒实例上处理多个用户的 SSH 密钥

恢复丢失的 AWS EC2 密钥对

使用 pem 文件访问 AWS ssh 集群

SSH 进入 AWS Cloud9 环境

AWS SSH 密钥是不是符合 HIPAA 或 Sox 标准?

使用 Elastic Beanstalk 创建时的 AWS EC2 .pem 证书