无法在Azure Terraform中执行“远程执行”配置程序

时间:2019-10-22 14:45:25

标签: azure terraform

在Azure中部署VM时,我试图执行remote-exec设置程序,但是remote-exec中的内联代码从不执行。

这是我的供应商和连接代码:

provisioner "remote-exec" {

    inline = [
    "touch newfile.txt",
    "touch newfile2.txt",
    ]
}

connection {
        type = "ssh"
        host = "${azurerm_public_ip.publicip.ip_address}"
        user  = "testuser"
        private_key = "${file("~/.ssh/id_rsa")}"
        agent = false
}

代码从不执行并给出错误: 错误:无法读取ssh私钥:找不到密钥

密钥(id_rsa)保存在运行main.tf文件的VM的同一位置。

请在这里提出问题。

1 个答案:

答案 0 :(得分:0)

如@ydaetskcoR注释所示,您的代码private_key = "${file("~/.ssh/id_rsa")}"指示私钥应位于您的主目录下的.ssh/id_rsa,如Linux上的/home/username或Windows上的C:\Users\username。 / p>

您可以将该密钥(id_rsa)保存在该目录中作为代码,否则,您需要在代码中添加密钥的当前路径。

例如,将其编辑为private_key = "${file("${path.module}/id_rsa")}"