首页 > 解决方案 > 用于配置 EC2 托管 PEM 文件的 Terraform(用于 SSH)

问题描述

我正在使用 Terraform 来配置 EC2 服务器。在配置 EC2 服务器之前,我想用 terraform 配置 AWS 托管密钥对(PEM 文件),将其下载到我的本地并使用该密钥在将来创建 EC2 实例。

在密钥对的 Terraform 注册表中,我找到了以下代码:

resource "aws_key_pair" "deployer" {
  key_name   = "deployer-key"
  public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com"
}

在上面的 Terraform 代码中,它要求我提供公钥。但是,我不想使用自己的公钥。我想从 AWS 控制台预置默认值。

如何预置 AWS 托管密钥对并从 Terraform 代码下载它?

标签: amazon-web-servicesamazon-ec2terraformrsaterraform-provider-aws

解决方案


正如@Marcin 建议的那样,您无法下载 AWS 私钥。取而代之的是,您可以在本地创建公钥和私钥并将公钥上传到 AWS。您可以稍后使用本地存储的私钥进行 EC2 登录。
有关参考,请参阅此处的代码:https ://github.com/dumrauf/openvpn-terraform-install/blob/master/ec2.tf


推荐阅读