3
votes

I have a vagrant project, provisioned with ansible.

For ssh settings I use:

config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
config.ssh.forward_agent = true
config.ssh.forward_x11 = true

The problem is that I start the VM with GUI

vb.gui = true

have installed with ansible lightdm-gtk-greeter-settings,

https://github.com/valentin-nasta/development-environment/blob/master/playbooks/roles/desktop/tasks/main.yml#L14

but I'm asked for ubuntu's user password instead of the vagrant user.

This is the problem I'm trying to solve.

As a workaround (as I didn't know the ubuntu's user password), I logged into the vm and change it manually. vagrant ssh sudo passwd ubuntu But still I would like to know the secret behind.

Here is my Vagrantfile

https://github.com/valentin-nasta/development-environment/blob/master/Vagrantfile

Vagrant ubuntu password request instead vagrant

1

1 Answers

1
votes

It seems the vagrant user is not added to sudoers on the official Vagrant ubuntu/trusty box https://atlas.hashicorp.com/ubuntu/boxes/trusty64

The fix was to add these lines as inline shell provisioning:

# provision
config.vm.provision :shell, inline: <<-SHELL
  # Set up sudo
  echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
  chmod 0440 /etc/sudoers.d/vagrant
  # Setup sudo to allow no-password for "sudo" commands
  usermod -a -G sudo vagrant
SHELL