Packer Amazon EBS Chef - 抱歉,你必须有一个tty才能运行sudo

时间:2015-10-11 17:09:01

标签: linux amazon-web-services chef packer

我想使用Packer使用厨师为亚马逊ebs配置图像。

我收到以下错误消息:

sudo: sorry, you must have a tty to run sudo

example.json

{
  "builders": [{
    "type": "amazon-ebs",
    "access_key": "...",
    "secret_key": "...",
    "region": "eu-central-1",
    "source_ami": "ami-daaeaec7",
    "instance_type": "t2.micro",
    "ssh_username": "ec2-user",
    "ami_name": "packer-example {{timestamp}}"
  }],
  "provisioners": [{
    "type": "chef-solo",
    "cookbook_paths": ["cookbooks", "site-cookbooks"],
    "run_list": [  ]
  }]
}

输出

$ packer build example.json
amazon-ebs output will be in this color.

==> amazon-ebs: Prevalidating AMI Name...
==> amazon-ebs: Inspecting the source AMI...
==> amazon-ebs: Creating temporary keypair: packer ...
==> amazon-ebs: Creating temporary security group for this instance...
==> amazon-ebs: Authorizing access to port 22 the temporary security group...
==> amazon-ebs: Launching a source AWS instance...
    amazon-ebs: Instance ID: i-...
==> amazon-ebs: Waiting for instance (i-...) to become ready...
==> amazon-ebs: Waiting for SSH to become available...
==> amazon-ebs: Connected to SSH!
==> amazon-ebs: Provisioning with chef-solo
    amazon-ebs: Installing Chef...
    amazon-ebs: % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    amazon-ebs: Dload  Upload   Total   Spent    Left  Speed
    amazon-ebs: 0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0sudo: sorry, you must have a tty to run sudo
    amazon-ebs: 0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (23) Failed writing body (0 != 16086)
==> amazon-ebs: Terminating the source AWS instance...
==> amazon-ebs: No AMIs to cleanup
==> amazon-ebs: Deleting temporary security group...
==> amazon-ebs: Deleting temporary keypair...
Build 'amazon-ebs' errored: Error installing Chef: Install script exited with non-zero exit status 1

==> Some builds didn't complete successfully and had errors:
--> amazon-ebs: Error installing Chef: Install script exited with non-zero exit status 1

==> Builds finished but no artifacts were created.

我认为相关的错误信息是:

sudo: sorry, you must have a tty to run sudo

有人有想法吗?

1 个答案:

答案 0 :(得分:8)

您可以使用{ "builders": [{ ... "ssh_pty" : true, ... }], ... } 拥有TTY。

{{1}}