Terraform provisioner 在使用 private_key 时抛出找不到密钥的错误
Terraform provisioner throws key not found error when using private_key
我在部署 AWS 机器后使用 terraform 的配置器执行命令时遇到问题。使用以下配置时,我看到未找到密钥异常:
...
provisioner "remote-exec" {
inline = [
"wget http://www.eu.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz",
"tar -xzf apache-jmeter-3.2.tgz",
]
connection {
user = "ec2-user"
private_key = "${path.module}/my-private-key"
agent = false
}
}
...
如何在 terraform 中使用我的私钥在机器创建后执行我的命令?
你必须使用 file()
插值函数和 private_key
。
connection {
. . .
private_key = "${file("${path.module}/my-private-key")}"
. . .
}
查看 private_key 的 "Additional arguments" 部分,其中提到要与 private_key
一起使用的 file()
插值函数:
https://www.terraform.io/docs/provisioners/connection.html
我在部署 AWS 机器后使用 terraform 的配置器执行命令时遇到问题。使用以下配置时,我看到未找到密钥异常:
...
provisioner "remote-exec" {
inline = [
"wget http://www.eu.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz",
"tar -xzf apache-jmeter-3.2.tgz",
]
connection {
user = "ec2-user"
private_key = "${path.module}/my-private-key"
agent = false
}
}
...
如何在 terraform 中使用我的私钥在机器创建后执行我的命令?
你必须使用 file()
插值函数和 private_key
。
connection {
. . .
private_key = "${file("${path.module}/my-private-key")}"
. . .
}
查看 private_key 的 "Additional arguments" 部分,其中提到要与 private_key
一起使用的 file()
插值函数:
https://www.terraform.io/docs/provisioners/connection.html