Terraform Azurerm错误:linuxConfiguration.ssh.publicKeys.path无效

时间:2020-03-25 20:25:19

标签: terraform terraform-provider-azure

我正在将 Terraform v0.12.24与provider.azurerm v2.2.0一起使用 当我尝试创建Scaleset VM时,出现以下错误:

错误:compute.VirtualMachineScaleSetsClient#CreateOrUpdate:失败 发送请求:StatusCode = 400-原始错误: Code =“ InvalidParameter” 消息=“参数的值 linuxConfiguration.ssh.publicKeys.path无效。” Target =“ linuxConfiguration.ssh.publicKeys.path”

在资源的scaleset.tf第1行

“ azurerm_virtual_machine_scale_set”“演示”:1:资源 “ azurerm_virtual_machine_scale_set”“演示” {

我正在使用Windows 10进行Terraform配置。我的os_profile_linux_config如下:

       storage_profile_image_reference {
        publisher = "Canonical"
        offer     = "UbuntuServer"
        sku       = "18.04-LTS"
        version   = "latest"
      }

  os_profile_linux_config {
    disable_password_authentication = true

    ssh_keys {
      key_data = file("C:/Users/jack/Documents/key/id_rsa.pub")
      path     = "C:/Users/jack/Documents/key"
    }
  }

首先,我尝试了两个不同的密钥对。一个是由puttygen创建的,另一个是由ssh-keygen与git bash创建的。我和他们两个都有相同的错误。 你有什么主意吗?

1 个答案:

答案 0 :(得分:1)

对于您的问题,我认为您误解了ssh_key的属性path,它显示在这里:

ssh_keys-(可选)指定要收集的路径和key_data的集合 放置在虚拟机上。

这是您要创建的VM内部的路径,而不是您执行Terraform的机器的路径。还有:

注意:请注意,唯一允许的路径是 /home//.ssh/authorized_keys由于Azure的限制。