While packaging images using the packer, you might end up having the following error.
sudo: sorry, you must have a tty to run sudo.
You can solve this issue by just adding ssh_pty flag to the builder block of packer configuration as shown below.
"ssh_pty" : "true"
One such example builder is given below.
"builders": [{
    "type": "amazon-ebs",
    "region": "{{user `region`}}",
    "vpc_id": "vpc-72fc43517",
    "subnet_id":  "{{user `subnetId`}}",
    "source_ami": "{{user `amiId`}}",
    "instance_type": "{{user `instanceType`}}",
    "ssh_username": "{{user `sshUsername`}}",
    "ami_name": "{{user `amiName`}}-{{user `amiVersion` }}",
    "tags": {
        "Name": "{{user `amiName`}}-{{user `amiVersion` }}",
        "OS_Version": "{{user `osVersion`}}"
      },
    "ssh_pty" : "true"
  }],