【发布时间】:2018-09-19 11:00:30
【问题描述】:
我需要为不同的用户启动一堆 EC2 盒子。每个用户都应该与所有其他用户进行沙盒化,因此每个 EC2 框都需要自己的 SSH 密钥。
在 Terraform 中完成此任务的最佳方法是什么?
我发现的几乎所有说明都希望我手动创建 SSH 密钥并将其粘贴到 terraform 脚本中。
(坏)例子:
- https://github.com/hashicorp/terraform/issues/1243,
- http://2ninjas1blog.com/terraform-assigning-an-aws-key-pair-to-your-ec2-instance-resource/
- Terraform fails to import key pair with Amazon EC2)
由于我需要以编程方式为许多用户生成唯一密钥,因此这是不切实际的。
这似乎不是一个困难的用例,但我在任何地方都找不到关于它的文档。
在紧要关头,我可以生成 Terraform 脚本并使用 Bash 即时注入 SSH 密钥。但这似乎正是 Terraform 一开始就应该做的事情。
【问题讨论】:
-
这些用户通常会向您提供他们的公钥,因此您无需生成任何内容。为什么您的用户会为管理大量私钥而头疼?
-
说来话长,但这绝对是一项要求。此 terraform 构建的一部分是用于我们还处理用户管理的合同。
标签: amazon-web-services amazon-ec2 terraform terraform-provider-aws ssh-keys