簡體   English   中英

如何使用 Terraform 為 Ansible 播種 SSH 密鑰?

[英]How Do I Seed SSH Keys For Ansible Using Terraform?

我正在使用 terraform 創建我的 Ubuntu VM,隨后將使用 ansible 配置它們。

但是,ansible 需要設置用戶和 ssh 密鑰才能連接,因此用於 ansible 的公鑰需要位於服務器上的authorized_keys文件中。

如果我使用我的 ssh 公鑰,它將在我的機器上工作,但它不會在其他機器或構建服務器上工作,因為它們沒有私鑰。

創建新密鑰而不覆蓋當前密鑰的命令是什么?

我應該將此密鑰檢查到 git 中以便將相同的密鑰傳遞給 terraform 嗎?

如何更改我的 terraform 任務以使用版本控制中的密鑰?

當前 Terraform 任務:

resource "azurerm_virtual_machine" "client-vm" {
  name                  = "${var.prefix}-${var.client_name}-vm"
  resource_group_name   = var.resource_group_name
  location              = var.resource_group_location
  network_interface_ids = [azurerm_network_interface.network-interface.id]
  vm_size               = "Standard_D2s_v3"

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

  #TODO: Switch to SSH Keys
  os_profile {
    computer_name  = "${var.client_name}"
    admin_username = var.username
    admin_password = var.password
  }

  os_profile_linux_config {
    disable_password_authentication = false
  }

}

是的,至少如果這是您的雲提供商處理 SSH 密鑰的方式..(例如 AWS 這樣做):

resource "aws_instance" "web" {
  ami           = "${data.aws_ami.ubuntu.id}"
  instance_type = "t2.micro"

  key_name = "name_of_the_aws_keypair"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM