![](/img/trans.png)
[英]Jenkins pipeline - refering to SSH Keys in ansible and Terraform
[英]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.