Ошибка Terraform Azurerm: неверный linuxConfiguration.s sh .publicKeys.path - PullRequest
0 голосов
/ 25 марта 2020

Я использую Terraform v0.12.24 с provider.azurerm v2.2.0 Я получаю эту ошибку ниже, когда пытаюсь создать масштабируемые виртуальные машины:

Ошибка: compute.VirtualMachineScaleSetsClient #CreateOrUpdate: Ошибка отправки запроса: StatusCode = 400 - Исходная ошибка: Code = "InvalidParameter" Message = "Значение параметра linuxConfiguration.s sh .publicKeys.path недопустимо." Target = "linuxConfiguration.s sh .publicKeys.path"

в строке scaleset.tf 1, в ресурсе "azurerm_virtual_machine_scale_set" "demo": 1: ресурс "azurerm_virtual_machine_scale_set" "demo" {

Я использую 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, а другой - s sh -keygen с git bash. У меня была одинаковая ошибка с ними обоими. У вас есть идеи?

1 Ответ

1 голос
/ 26 марта 2020

Для вашей проблемы, я думаю, что вы неправильно понимаете свойство path ssh_key, оно показывает здесь:

ssh_keys - (Необязательно) Указывает коллекцию path и key_data для размещения на виртуальная машина.

Это путь внутри виртуальной машины, который вы хотите создать, а не путь к машине, на которой вы запускаете Terraform. А также:

Примечание: обратите внимание, что единственный допустимый путь - это /home//.ssh/authorized_keys из-за ограничения Azure.

...