在AWS EC2实例的cloud-init userdata启动中隐藏密码

在AWS EC2实例的cloud-init userdata启动中隐藏密码

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脚本中。

相关内容