web-dev-qa-db-fra.com

Vagrant ssh échoué avec VirtualBox

vagrant up échoue quand il arrive à la partie 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.

Puis, lorsque j'essaie par la suite d'utiliser une connexion ssh ou vagabale vagabale, ou autre, je reçois ceci:

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.

S'il vous plaît aider! Je suis vraiment perplexe.

Sincères amitiés,

Luke

39
lukewm

J'ai vu ce problème avec ma configuration et je l'ai finalement réduit au fait que j'avais ajouté un nom au fichier hôtes locaux. Alors j'ai eu:

127.0.0.1 localhost myname myalias

Suppression de la myalias que j'avais ajoutée et démarrage correct. Merci à @saphirlazuli pour l’indication que c’était lié au réseautage.

9
Mark Cheverton

J'ai eu le même problème avec la boîte donnée dans le site "Mise en route" de Vagrant. Ma solution ci-dessous est pour la boîte de ce tutoriel.

Je trouve une solution ici: https://github.com/mitchellh/vagrant/issues/391

  1. dans VagrantFile, ajoutez le mode gui: config.vm.boot_mode = :gui
  2. exécuter vagrant up
  3. dans l'interface graphique, connectez-vous avec l'utilisateur "vagrant" (password = "vagrant")
  4. dans le gui, lancez Sudo /etc/init.d/networking restart, dans le fichier /etc/network/interfaces, vous devez maintenant avoir une section avec #VAGRANT-BEGIN [...]#VAGRANT-END
  5. exécuter vagrant reload sur la machine physique
26
saphirlazuli

Pour moi, il s’agit d’un problème intermittent qui semble clairement lié au réseautage. J'ai trouvé des informations plus utiles dans les numéros de Vagrant GitHub # 391 et # 455 . J'ai essayé de supprimer mon réseau réservé aux hôtes uniquement dans les paramètres de VirtualBox (recommandé comme solution potentielle à l'un des problèmes de GitHub), ce qui n'a pas semblé aider.

Démarrer en mode graphique (comme décrit dans une réponse précédente) est un excellent moyen de déboguer/résoudre les problèmes. J'ai découvert que c'est parce que, pour une raison quelconque, le VM ne peut pas obtenir d'adresse IP au démarrage. Démarrer en mode graphique puis se connecter (vagabond/vagabond) et exécuter Sudo dhclient dans le système d'exploitation invité extrairait l'adresse IP et le processus de configuration de Vagrant se terminerait avec succès.

Toujours à la recherche d'une solution permanente cependant.

J'espère que cela t'aides!

[MODIFIÉ POUR AJOUTER]: Une suggestion utile a été ajoutée à Le problème GitHub # 455 qui implique l’ajout de la configuration suivante à votre Vagrantfile:

config.ssh.max_tries = 150

Cela fonctionne actuellement pour moi, et semble logique puisque le problème semble être lié au timeout - augmenter le nombre d'essais devrait augmenter la probabilité que le processus SSH aboutisse dans le temps. C'est un problème intermittent en premier lieu donc je vais réserver mon jugement pour un moment, mais les doigts croisés ça va marcher! Merci à karel1980 pour avoir suggéré le correctif.

6
DuffJ

Si vagrant up échoue, je recommande ce qui suit:

  1. Démarrer avec le mode interface graphique : cela permet de voir si l'image est cassée (ou ce qu'elle fait avant le démarrage du provisioning), définissez config.vm.boot_mode = :gui dans votre Vagrantfile
  2. Journalisation du débogage : lancez le provisioning avec debug , chef.log_level = :debug
  3. Reconditionnez la boîte : vous devez parfois installer quelque chose avant que tout le reste ne soit exécuté - pour amorcer le programme d'amorçage. Ce n'est pas vraiment possible, donc le plus simple est de démarrer une machine virtuelle sans aucun approvisionnement, installer ce dont vous avez besoin et reconditionner la boîte (vagrant box repackage foo, puis vagrant import foo et ensuite ajouter foo dans votre Vagrantfile)

Remarque: le mode d'interface graphique peut avoir d'autres problèmes, par exemple pour moi, aucun provisioning ne fonctionne avec le vagabond 0.7.5 lorsque l'interface graphique est activée. C'est quand même bien de déboguer la boîte réelle.

5
Till

Mon type de carte réseau a été défini à l'origine sur 82540EM. Je l'ai changé en Am79C973 et maintenant Vagrant up fonctionne à chaque fois. J'ai démarré plusieurs ordinateurs virtuels, j'ai même redémarré l'hôte et cela fonctionne toujours.

La commande est:

VBoxManage modifyvm yourmachinename --nictype1 Am79C973

N'oubliez pas de reconditionner et de remettre votre boîte à Vagrant.

J'utilise Debian Squeeze 64 bits en tant qu'hôte et invités, à l'aide de VirtualBox 4.1.16 sur un ordinateur Core i7-2600.

2
Simon Celen

Ma boîte d’invités ne pourrait pas démarrer correctement en raison d’un problème de disque.

J'ai forcé le VM à fermer via

VBoxManage controlvm poweroff

Ensuite, j'ai modifié ma Vagrantfile pour inclure cette ligne:

config.vm.boot_mode =: gui

Ensuite, j'ai re-couru

vagabond

Dans l'interface graphique qui est apparue, je devais exécuter l'utilitaire de "réparation de disque".

Après avoir exécuté l'utilitaire de disque, mon VM a été démarré avec succès, puis j'ai pu exécuter vagrant ssh.

1
Kevin Meredith

J'ai décommenté la partie dans Vagrantfile comme ceci:

  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

Je l'ai sauvé et puis j'ai fait

vagrant reload

et puis les choses ont bien fonctionné. Je ne sais pas pourquoi cela a résolu le problème.

1
Pavan Katepalli

J'ai eu le même problème. Dans mon cas, l'émulation 64 bits n'était pas activée. L'activation de cette fonctionnalité dans mon bios a résolu le problème.

1
diedthreetimes

Si le module de noyau est déjà installé, essayez de démarrer le VM directement avec VirtualBox. Cela vous montrera toutes les erreurs de démarrage rencontrées lors du démarrage de VM. Des problèmes tels que des erreurs de système de fichiers empêchent le démon de serveur SSH de fonctionner correctement.

1
Sasha

J'ai eu le même problème sur osx (VirtualBox 4.1.0 et Vagrant 0.8.6), et pour moi la seule aide était de:

  1. se connecter avec: gui par login/pass: vagrant/vagrant
  2. modifiez le fichier "/etc/rc.local" pour inclure la ligne "sh /etc/init.d/networking restart" juste avant "exit 0".
  3. désactiver: gui
  4. rechargement vagabond

J'ai trouvé ceci à: https://github.com/mitchellh/vagrant/issues/391 thx mikhailov.

1
sparrovv

Mon problème était que vagrant ssh ne ferait rien du tout.

J'ai enlevé ~/.ssh/config et le problème a été résolu. Copiez le fichier quelque part ou renommez-le si vous souhaitez le conserver.

0
zMan

Comme avec d’autres, j’ai utilisé l’interface graphique (je l’ai toujours pour éviter de tels problèmes)

config.vm.boot_mode = :gui

J'ai ensuite utilisé le menu VirtualBox, car les commandes ici ne fonctionnaient pas. Machine> Réinitialiser dans le menu, ssh était alors possible.

0
mahemoff

Voici une autre raison possible pour l'erreur:

[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.

Un nom d'utilisateur peut être spécifié dans le fichier de configuration comme ceci:

config.ssh.username = "badusername"

Si ce nom d'utilisateur n'existe pas ou ne peut pas être connecté pour une raison quelconque, ni vous ni Vagrant ne pourrez SSH dans la VM. Ainsi, Vagrant "ne se connectera pas", même si le VM est en fait en cours d'exécution et fonctionne correctement.

0
SunSparc

Sous Windows 7, lancez

vagrant ssh

si vous obtenez quelque chose comme ça ...

`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

Ensuite, vous devriez utiliser quelque chose comme ça ...

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

Notez que j'utilise cygwin sur ma fenêtre Windows plutôt que PuTTY.

0
Artistan

Tapez Sudo /etc/init.d/vboxdrv setup. Cela devrait maintenant fonctionner.

0
Daniel

Mon problème était que dans

/etc/hosts

J'ai eu l'entrée

127.0.1.1 lucid32

alors que mon nom de boîte était lucidtest, j'ai changé la ligne ci-dessus en

127.0.1.1 lucidtest

et cela a fonctionné.

0
Owais Lone

Ce message suggère que le serveur ssh n'est pas en cours d'exécution sur la machine virtuelle. assurez-vous qu'il est installé

Sudo apt-get install openssh-server

et courir

ssh localhost

ne devrait pas donner une erreur.

Pour exclure les erreurs dans vagrant, vous devriez essayer ssh directement dans la machine virtuelle en:

ssh vagrant @ localhost -p2222

(en supposant que l'utilisateur et le transfert de port par défaut)

0
Viktor Trón

J'ai arrêté la machine virtuelle en cours d'exécution et créé une nouvelle basebox:

  1. Arrêter VM J'essaie d'exporter
  2. vagrant package --base "salt-master basebox" --vagrantfile ./Vagrantfile
0
Zippy Zeppoli