我正在使用Terraform来配置EC2服务器。在配置AWS服务器之前,我想使用terraform配置EC2托管密钥对(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代码下载?
发布于 2020-09-13 12:59:53
你需要的是不支持的。aws_key_pair用于向亚马逊网络服务注册现有新公钥。这意味着您需要在本地拥有相应的私钥。
要登录实例,您需要使用私钥进行。仅有公钥是不够的。此外,如果您已经没有可用的它们,则不能从AWS下载它们。AWS不存储私钥。仅存储公钥。
如果您希望将所有内容保持在terraform的控制之下,则可以使用tls_private_key创建新的关键点。但是如果您对它的安全问题不满意,您可以使用ssh-keygen生成一个新的密钥对,就像不使用terraform时通常所做的那样。
发布于 2020-09-20 13:59:38
正如@Marcin建议的那样,您不能下载AWS私钥。相反,您可以在本地创建公钥和私钥,并将公钥上传到AWS。您可以稍后使用本地存储的私钥进行EC2登录。
有关参考,请参阅此处的代码:https://github.com/dumrauf/openvpn-terraform-install/blob/master/ec2.tf
https://stackoverflow.com/questions/63867024
复制相似问题