Eu configurei uma primeira caixa do Vagrant para dev python que funciona muito bem. Eu posso vagrant sshnessa caixa original sem problemas.

Problema começa quando tento criar uma cópia dessa caixa (com vagrant package), para compartilhá-la com os colegas. Quando tento inicializar essa cópia vagrant up, encontro a falha de autenticação ssh frequentemente relatada. Note que ainda posso vagrant sshna caixa original.

Fluxo de trabalho e logs

vagrant_anaconda ==> minha caixa base

newvm ==> a cópia

criação de pacote

cd vagrant
vagrant up (doc says the VM should be running)
vagrant package --base vagrant_anaconda --output ~/Code/vagrant.box --vagrantfile Vagrantfile --include bootstrap.sh

nova configuração do Vagrant VM

mkdir newvm
cd newvm
vagrant init newvm ~/Code/vagrant.box

Copio o bootstrap.sh da vm original (o parâmetro include provavelmente não deve ser usado para isso)

Vagrantfile (removeu os comentários por concisão)

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|

  config.vm.box = "chef/centos-6.5"
  config.vm.provision :shell, path: "bootstrap.sh"

  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.network "forwarded_port", guest: 5002, host: 5002

end

bootstrap.sh

#!/usr/bin/env bash

yum update
yum -y install httpd
rm -rf /var/www/html
ln -fs /vagrant /var/www/html
service httpd start

Erro de autenticação SSH temido

vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'newvm'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: newvm_default_1425211273763_74431
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 80 => 8080 (adapter 1)
    default: 5002 => 5002 (adapter 1)
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

resultado de vagrant ssh-config:

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/nicolas/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

Passos dados:

Se eu inicializar o gui da VM (como sugerido em outras respostas), posso ver que ele está solicitando um login / psw.

Eu tentei excluir o insecure_private_key. Sem efeito

Como posso entrar na minha segunda caixa? Como posso ter certeza razoável de que as pessoas que vou enviar não enfrentarão esse problema?

knightofni
fonte