Я использую Vagrant для создания виртуальной машины CentOS на хосте Windows и подключения к ней, пока все хорошо.
Далее я хочу использовать Chef для подготовки стеков на созданной виртуальной машине. Я пытался использовать кулинарные книги в локальном каталоге, а также предоставлять URL-адреса рецептов, но, вероятно, это не удается, потому что он не может подключиться к гостевому ящику по ssh, как видно из ошибки:
SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.
Итак, мой первый вопрос:
1) Как убедиться, что SSH работает в том же окне, что и гостевая ОС на хосте Windows, чтобы все сценарии выполнялись правильно?
Теперь, когда я комментирую строку ниже в vagrantfile
config.ssh.username = "root"
Вышеупомянутая ошибка исчезает, но я получаю другую ошибку:
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
mount -t vboxsf -o uid=id -u vagrant
,gid=id -g vagrant
v-csr-2 /tmp/vagrant-chef-1/chef-solo-2/roles
Это связано с тем, что у пользователя vagrant недостаточно доступа к ящику, что является моим вторым вопросом:
2) Как указать Vagrant запускать все команды с доступом sudo или su?