Skip to content

ivoronin/packer-plugin-sshkey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Packer SSH key plugin

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.

Usage example

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