Eu configurei uma primeira caixa do Vagrant para dev python que funciona muito bem. Eu posso vagrant ssh
nessa 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 ssh
na 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?
fonte