Hi Folks,

I've run into an issue recently with packer where my output vagrant box has 
password based ssh disabled by default, even when I explicitly enable it in 
the last provisioner step. I'll include the template json below but in 
short we build an ubuntu 18.04.3 image with the virtualbox-iso builder, run 
a couple of scripts to setup things, and output the box.

This was working until recently, I went and updated our setup to start 
building amis too, and the vagrant VMs stopped working. I tried rolling 
most of it back to see if it helped but I am still seeing this issue.

template:

  "_comment": "This file managed by salt. Local changes will be 
overwritten.",
  "builders": [
    {
      "vm_name": "{{user `vmname`}}",
      "type": "virtualbox-iso",
      "headless": true,
      "vrdp_bind_address": "0.0.0.0",
      "guest_os_type": "Ubuntu_64",
      "iso_url": "http://{{user `webserver`}}/{{user `os_file`}}.iso",
      "iso_checksum_url": "{{user `iso_checksum`}}",
      "iso_checksum_type": "file",
      "ssh_username": "packer",
      "ssh_password": "packer",
      "ssh_wait_timeout": "15m",
      "shutdown_command": "echo 'packer' | sudo -S shutdown -P now",
      "disk_size": "30000",
      "hard_drive_interface": "sata",
      "vboxmanage": [
        [
          "modifyvm",
          "{{.Name}}",
          "--boot1",
          "dvd"
        ],
        [
          "modifyvm",
          "{{.Name}}",
          "--boot2",
          "disk"
        ],
        [
          "modifyvm",
          "{{.Name}}",
          "--nictype1",
          "virtio"
        ],
        [
          "modifyvm",
          "{{.Name}}",
          "--memory",
          "2048"
        ],
        [
          "modifyvm",
          "{{.Name}}",
          "--cpus",
          "4"
        ],
        [
          "modifyvm",
          "{{.Name}}",
          "--audio",
          "none"
        ],
        [
          "modifyvm",
          "{{.Name}}",
          "--usb",
          "off"
        ]
      ],
      "boot_command": [
        "<esc><esc><enter><wait>",
        "/install/vmlinuz noapic ",
        "preseed/url=http://{{user `webserver`}}/{{user `os_file`}}.cfg ",
        "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
        "hostname={{user `vmname`}} ",
        "fb=false debconf/frontend=noninteractive ",
        "keyboard-configuration/modelcode=SKIP 
keyboard-configuration/layout=USA ",
        "keyboard-configuration/variant=USA console-setup/ask_detect=false "
,
        "DEBCONF=debug ",
        "initrd=/install/initrd.gz -- <enter>"
      ],
      "output_directory": "vbox/"
    },
    {
      "type": "amazon-ebs",
      "access_key": "{{ user `access_key` }}",
      "secret_key": "{{ user `secret_key` }}",
      "ami_users": [
        "<snip>",
        "<snip>"
      ],
      "region": "us-east-1",
      "source_ami_filter": {
        "filters": {
          "name": 
"ubuntu/images/hvm-ssd/*ubuntu-bionic-18.04-amd64-server-*",
          "root-device-type": "ebs"
        },
        "owners": ["099720109477"],
        "most_recent": true
      },
      "vpc_id": "vpc-04ee3040de35bc755",
      "subnet_id": "subnet-05b0e1ad8679eb394",
      "instance_type": "t3.micro",
      "ssh_username": "ubuntu",
      "ami_name": "{{user `vmname`}}-{{user `salt_environment`}}-{{ user 
`commit` }}",
      "spot_price": "0.0104",
      "run_tags": {
        "application": "packer"
      }
    }
  ],
  "provisioners": [
    {
      "type": "file",
      "source": "upload/",
      "destination": "/tmp"
    },
    {
      "type": "shell",
      "inline": [
        "/usr/bin/cloud-init status --wait"
      ],
      "only": ["amazon-ebs"]
    },
    {
      "type": "shell",
      "scripts": [
        "/etc/vmimage/init.sh"
      ],
      "environment_vars": [
        "SALT_ENVIRONMENT={{user `salt_environment`}}",
        "SALT_VERSION={{user `salt_version`}}",
        "SLS_STATES={{user `sls_states`}}"
      ]
    },
    {
      "type": "shell",
      "inline": [
        "sudo mount /home/packer/VBoxGuestAdditions.iso /mnt",
        "sudo sh /mnt/VBoxLinuxAdditions.run || true",
        "sudo umount /mnt",
        "sudo dmidecode -s system-product-name > /home/packer/vmtype"
      ],
      "only": ["virtualbox-iso"]
    },
    {
      "type": "shell",
      "inline": [
        "sudo sed -i 's/^PasswordAuthentication no/PasswordAuthentication 
yes/' /etc/ssh/sshd_config",
        "sudo cat /etc/ssh/sshd_config"
      ],
      "only": ["virtualbox-iso"]
     }
  ],
  "post-processors": [
    {
      "type": "vagrant",
      "output": "plos_{{.Provider}}_{{user `commit`}}_{{isotime 
\"2006-01-02-150405\"}}.box",
      "keep_input_artifact": true,
      "only": ["virtualbox-iso"]
    }
  ]
}

The init.sh script just installs some packages and sets up salt to run. 
Then the final step is to flip that sshd config setting so we can login the 
first time to set things up in Vagrant. You can see I was cat'ing out the 
file to be sure it was getting changed, and it is, but when I fire up my 
box in vagrant, it is set back to "no" thus preventing our first login with 
packer/packer to do our initial provisioning.

I'm open to changing up how we do things, but am lost as to why my 
sshd_config changes are being reset?

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/packer-tool/cb78b72f-daa7-40e3-8760-f251338b0110%40googlegroups.com.

Reply via email to