AWS EC2 实例在cloud-init
启动过程中创建一个新用户,并为该新用户设置密码。 Terraform 用于触发新 EC2 实例的创建,该实例运行 Amazon Linux 2。密码通过 Terraform 变量发送到实例,该变量的值被插入到USERDATA
由 运行的 bash 脚本中cloud-init
。
问题是cloud-init
日志文件 ( /var/log/cloud-init-output.log
) 正在打印持久日志中的密码值。
需要在下面的代码中更改哪些特定语法,以便密码不会保留在 cloud-init 日志文件中?
bash 文件中导致此不安全日志条目的代码行cloud-init
userdata
当前编写为:
echo "${var.vm_username}":"${var.vm_pwd}" | chpasswd
笔记: 如果您只想考虑如何从日志中隐藏密码(如果命令如下),则可以忽略 Terraform 元素:
echo myusername:mypassword | chpasswd
该OP提到Terraform的唯一原因是指出密码没有保留在cloud-init
userdata
脚本中。