Packer plugin used to generate SSH keys.
For the full list of available features for this plugin see documentation.
Packer 1.7.3 or later is required.
packer {
required_plugins {
sshkey = {
version = ">= 1.1.0"
source = "github.com/ivoronin/sshkey"
}
}
}
variables {
temporary_key_pair_name = "my_temp_key"
}
data "sshkey" "install" {
name = var.temporary_key_pair_name
}
source "qemu" "install" {
ssh_username = "root"
ssh_private_key_file = data.sshkey.install.private_key_path
ssh_clear_authorized_keys = true
temporary_key_pair_name = var.temporary_key_pair_name
http_content = {
"/preseed.cfg" = templatefile("preseed.cfg.pkrtpl", {
"ssh_public_key" : data.sshkey.install.public_key
})
}
<...>
}
build {
sources = ["source.qemu.install"]
}
Starting from version 1.7, Packer supports a new packer init
command allowing
automatic installation of Packer plugins. Read the
Packer documentation for more information.
Note
Packer 1.8.5 has a -evaluate-datasources option which solves the ssh_private_key_file is invalid
issue. Run: packer validate test.pkr.hcl -evaluate-datasources