O Vagrant ssh falha com o VirtualBox

37

vagrant up falha quando chega na parte ssh:

myterminal$ vagrant up
[default] VM already created. Booting if its not already running...
[default] Running any VM customizations...
[default] Clearing any previously set forwarded ports...
[default] Forwarding ports...
[default] -- ssh: 22 => 2222 (adapter 1)
[default] -- db2: 30003 => 30003 (adapter 1)
[default] Cleaning previously set shared folders...
[default] Creating shared folders metadata...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

Então, quando eu, subsequentemente, tento me conectar usando uma atualização vagabunda ssh ou vagrant ou similar, eu entendo isso:

myterminal$ vagrant reload
[default] Attempting graceful shutdown of linux...
SSH connection was refused! This usually happens if the VM failed to
boot properly. Some steps to try to fix this: First, try reloading your
VM with 'vagrant reload', since a simple restart sometimes fixes things.
If that doesn't work, destroy your VM and recreate it with a 'vagrant destroy'
followed by a 'vagrant up'. If that doesn't work, contact a Vagrant
maintainer (support channels listed on the website) for more assistance.

Por favor me ajude! Estou realmente perplexo.

Atenciosamente,

Luke

    
por lukewm 03.12.2011 / 18:33

18 respostas

9

Eu vi este problema com a minha configuração e, eventualmente, reduzi-lo ao fato de que eu adicionei um nome para o arquivo de hosts locais. Então eu tive:

127.0.0.1 localhost myname myalias

Removeu o myalias que eu adicionei e inicializou bem. Obrigado a @saphirlazuli pelo indício de que estava relacionado à rede.

    
por 13.07.2011 / 13:00
26

Eu tive o mesmo problema com a caixa dada no site "Getting started" do Vagrant. Minha solução abaixo é para a caixa deste tutorial.

Encontrei uma solução aqui: link

  1. no VagrantFile, adicione o modo gui: config.vm.boot_mode = :gui
  2. executar vagrant up
  3. no gui, logue com o usuário "vagrant" (password="vagrant")
  4. no gui, execute sudo /etc/init.d/networking restart , no arquivo /etc/network/interfaces , agora você deve ter uma seção com #VAGRANT-BEGIN [...]#VAGRANT-END
  5. executar vagrant reload na máquina física
por 04.10.2011 / 16:06
6

Este é um problema intermitente para mim e definitivamente parece estar relacionado à rede. Eu encontrei algumas informações mais úteis no Vagrant GitHub # 391 e # 455 Eu tentei excluir minha rede somente host não utilizada nas configurações do VirtualBox (como recomendado como uma possível correção em um dos problemas do GitHub) que não parece ajudar.

A partir do modo gui (como descrito em uma resposta anterior) é uma ótima maneira de depurar / corrigir problemas. Descobri que é porque, por qualquer motivo, a VM não pode obter um endereço IP na inicialização. A partir do modo GUI, o login (vagrant / vagrant) e a execução de sudo dhclient no sistema operacional guest recuperariam o endereço IP e o processo de configuração do Vagrant seria concluído com êxito.

Ainda procurando uma correção permanente.

Espero que isso ajude!

[EDITADO PARA ADICIONAR]: Uma sugestão útil foi adicionada ao GitHub Issue # 455 que envolve adicionar a seguinte configuração ao seu Vagrantfile :

config.ssh.max_tries = 150

Isso está funcionando atualmente para mim e parece fazer sentido, já que o problema parece estar relacionado ao tempo limite - aumentar o número de tentativas deve aumentar a probabilidade do processo SSH ter sucesso no tempo. É uma questão intermitente em primeiro lugar, então vou reservar julgamento por um tempo, mas os dedos cruzados vão funcionar! Obrigado a karel1980 por sugerir a correção.

    
por 09.10.2011 / 19:23
5

Se vagrant up falhar, recomendo o seguinte:

  1. Inicialize com o modo gui : isso ajuda a ver se a imagem está corrompida (ou, por exemplo, o que acontece antes do início da configuração), defina config.vm.boot_mode = :gui em Vagrantfile
  2. Registro de depuração : execute o provisionamento com debug , chef.log_level = :debug
  3. Reempacote a caixa : às vezes você precisa instalar algo antes de todo o resto ser executado - para inicializar o bootstrapper. Isso não é realmente possível, então o mais fácil é inicializar uma vm sem qualquer provisionamento, instalar o que você precisa e reempacotar a caixa ( vagrant box repackage foo , depois vagrant import foo e depois adicionar foo no seu Vagrantfile )

Nota: o modo gui pode ter outros problemas, por ex. para mim, nenhum provisionamento funciona com vagrant 0.7.5 quando o gui está ativado. Ainda é ótimo depurar a caixa real.

    
por 20.05.2011 / 17:58
2

Meu tipo de placa de rede foi originalmente definido como 82540EM . Eu mudei para Am79C973 e agora o Vagrant up funciona todas as vezes. Eu iniciei várias VMs, até reinicializei o host e ele ainda funciona.

O comando é:

VBoxManage modifyvm yourmachinename --nictype1 Am79C973

Lembre-se de reembalar e ler sua caixa para o Vagrant.

Estou executando o Debian Squeeze 64-bit como host e guests, usando o VirtualBox 4.1.16 em uma máquina Core i7-2600.

    
por 10.06.2012 / 00:21
1

Se o módulo do kernel já estiver instalado, tente iniciar a VM diretamente com o VirtualBox. Isso mostrará todos os erros de inicialização encontrados durante a inicialização da VM. Problemas como erros no sistema de arquivos impedirão que o daemon do servidor SSH funcione corretamente.

    
por 22.03.2011 / 00:27
1

Eu tive o mesmo problema no osx (VirtualBox 4.1.0 e Vagrant 0.8.6), e para mim a única ajuda foi:

  1. faça o login com: gui por login / pass: vagrant / vagrant
  2. modifique o arquivo “/etc/rc.local” para incluir a linha “sh /etc/init.d/networking restart” antes de “exit 0 ″.
  3. desativar: gui
  4. recarregamento do vagrant

Eu encontrei isso em: link thx mikhailov.

    
por 07.10.2011 / 11:25
1

Eu tive esse mesmo problema. No meu caso, a emulação de 64 bits não foi ativada. A ativação desse recurso na minha BIOS corrigiu o problema.

    
por 05.04.2012 / 07:13
1

Minha caixa de convidados não inicializaria corretamente devido a um problema de disco.

Forcei a VM a fechar por meio de

VBoxManage controlvm poweroff

Em seguida, modifiquei meu Vagrantfile para incluir esta linha:

config.vm.boot_mode = :gui

Em seguida, eu corri novamente

vagrant up

Na GUI que apareceu, tive que executar o utilitário 'disk fixer'.

Depois de executar o utilitário de disco, minha VM foi inicializada com êxito e, em seguida, eu pude executar vagrant ssh .

    
por 02.11.2012 / 16:48
1

Eu descomentei a parte no Vagrantfile assim:

  config.vm.provider :virtualbox do |vb|
    # Don't boot with headless mode
    vb.gui = true

    # Use VBoxManage to customize the VM. For example to change memory:
    # vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

Eu salvei e depois fiz

vagrant reload

e depois as coisas funcionaram bem. Eu não sei por que isso foi resolvido.

    
por 16.09.2013 / 23:16
0

Meu problema foi que em

/etc/hosts

Eu tinha entrada

127.0.1.1 lucid32

onde, como o nome da minha caixa era lucidtest , mudei a linha acima para

127.0.1.1 lucidtest

e funcionou.

    
por 26.07.2011 / 13:30
0

Esta mensagem sugere que o servidor ssh não está sendo executado na VM. verifique se ele está instalado

sudo apt-get install openssh-server

e executando

ssh localhost

não deve dar um erro.

Para excluir erros dentro do vagrant, você deve tentar ssh na vm diretamente por:

ssh vagrant @ localhost -p2222

(assumindo o usuário padrão e o encaminhamento de porta)

    
por 18.08.2011 / 21:58
0

No Windows 7, execute

vagrant ssh

se você tiver algo assim ...

'vagrant ssh' isn't available on the Windows platform. You are still able
to SSH into the virtual machine if you get a Windows SSH client (such as
PuTTY). The authentication information is shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: U:/.vagrant.d/insecure_private_key

Então você deve usar algo assim ...

ssh [email protected] -p 2222 -i /cygdrive/u/.vagrant.d/insecure_private_key

Observe que estou usando o cygwin na minha caixa do windows, e não no Putty.

    
por 29.10.2012 / 20:09
0

Aqui está outra possível razão para o erro:

[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

Um nome de usuário pode ser especificado no arquivo de configuração da seguinte forma:

config.ssh.username = "badusername"

Se esse nome de usuário não existir ou não puder ser acessado por algum motivo, nem você nem o Vagrant poderão fazer SSH na VM. Assim, o Vagrant "falhará ao conectar", mesmo que a VM esteja de fato funcionando e funcionando corretamente.

    
por 21.08.2013 / 23:14
0

Meu problema era que vagrant ssh não faria nada.

Eu removi ~/.ssh/config e o problema foi resolvido. Copie o arquivo em algum lugar ou renomeie-o se quiser mantê-lo.

    
por 30.09.2015 / 08:30
0

Como com os outros, usei a GUI (sempre uso isso para evitar problemas como esse)

config.vm.boot_mode = :gui

Eu então usei o menu VirtualBox, pois os comandos aqui não funcionavam. Máquina > Reset no menu, então ssh foi possível.

    
por 15.03.2016 / 20:13
0

Encerrei a vm em execução e criei uma nova caixa de base:

  1. Encerrar VM Estou tentando exportar
  2. vagrant package --base "salt-master basebox" --vagrantfile ./Vagrantfile
por 18.07.2017 / 15:32
0

Digite sudo /etc/init.d/vboxdrv setup . Agora deve funcionar.

    
por 15.01.2011 / 17:22