Vagrant Error: Verbindungs-Timeout. Wiederholen


12

Ich habe einen Server mit Ubuntu 12.04, Virtualbox 4.3 und Vagrant 1.5.1. Ich versuche diese Box http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box jedoch erfolglos zu benutzen . Wenn ich "Vagabund" starte, bekomme ich folgende Meldung:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos-64-x64-vbox4210'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: rafael_default_1396403974194_51967
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    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: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.

Dies ist meine Vagrant-Datei

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "centos-64-x64-vbox4210"
  config.vm.boot_timeout = 600
  # The url from where the 'config.vm.box' box will be fetched if it
  # doesn't already exist on the user's system.
  # config.vm.box_url = "http://domain.com/path/to/above.box"

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # If true, then any SSH connections made will enable agent forwarding.
  # Default value: false
  # config.ssh.forward_agent = true

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"
  # Enable provisioning with chef server, specifying the chef server URL,
  # and the path to the validation key (relative to this Vagrantfile).
  #
  # The Opscode Platform uses HTTPS. Substitute your organization for
  # ORGNAME in the URL and validation key.
  #
  # If you have your own Chef Server, use the appropriate URL, which may be
  # HTTP instead of HTTPS depending on your configuration. Also change the
  # validation key to validation.pem.
  #
  # config.vm.provision "chef_client" do |chef|
  #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"    
  #   chef.validation_key_path = "ORGNAME-validator.pem"
  # end
  #
  # If you're using the Opscode platform, your validator client is
  # ORGNAME-validator, replacing ORGNAME with your organization name.
  #
  # If you have your own Chef Server, the default validation client name is
  # chef-validator, unless you changed the configuration.
  #
  #   chef.validation_client_name = "ORGNAME-validator"
end

Mein Server hat keine grafische Oberfläche. Wie kann ich das beheben? Vielen Dank.


Gibt es Firewall-Regeln, die sich auswirken können?
pbacterio

Antworten:


4

Versuchen Sie zunächst: zu sehen, welcher vagabundierende private Schlüssel in Ihrer Maschinenkonfiguration enthalten ist

$ vagrant ssh-config

Beispiel:

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

Vagrant SSH Config Docs

Zweitens: Ändern Sie den Inhalt der Datei insecure_private_key durch den Inhalt des eigenen privaten Systemschlüssels



Das scheint perfekt zu funktionieren! Ich entfernte den unsicheren Schlüssel und ließ Vagrant ihn neu generieren und arbeitet wie ein Zauber
vishal.biyani

1
Wie haben Sie das erreicht? Welche Datei hast du bearbeitet?
Cookie

@cookieC:/Users/USER_NAME/.vagrant.d/insecure_private_key
shilovk

@shilovk, was bedeutet das @cookie?
Liebe

2

versuchen Sie Ihr GUI von Virtual Box zu ermöglichen , wie in diesem Beitrag berichtet Vagrant stecken Verbindungs - Timeout und folgen Sie den Schritten in den Kommentaren.

Wenn es nicht funktioniert, versuchen Sie, diese Änderung zu Ihrer Vagrantdatei hinzuzufügen:

Erstellen Sie eine Datei mit dem Namen "script.sh", die die folgenden Befehle enthält:

mkdir /home/vagrant/.ssh
wget --no-check-certificate -O authorized_keys 'https://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub'
mv authorized_keys /home/vagrant/.ssh
chown -R vagrant /home/vagrant/.ssh
chmod -R go-rwsx /home/vagrant/.ssh

dann a füge dies zu deiner vagrantfile hinzu:

  # running script shell
    config.vm.provision :shell, :path => "script.sh"

1

Versuchen Sie, Port 22 an der Firewall zu öffnen.

Starten Sie mit dem Oracle VM VirtualBox Manager Ihre VM direkt oder

Fügen Sie dies zu Ihrem Vagrantfile hinzu

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

und renne "vagabundierend"

Melden Sie sich mit den Standardanmeldeinformationen für Vagabunden an

user: vagrant
pass: vagrant

Firewall-Regel hinzufügen

sudo ufw allow 22

1

Das SSH-Verbindungs-Timeout während der Startphase kann verschiedene Ursachen haben:

  • System wartet auf Benutzerinteraktion (zB Share-Partition ist nicht bereit ),
  • sshd Fehlkonfiguration,
  • Fehlkonfiguration der Firewall (falls diese nicht lokal ist),
  • Nichtübereinstimmung Ihres privaten Schlüssels,
  • config.vm.boot_timeout Zeitraum Zeit ist zu niedrig (was bei Ihnen in Ordnung ist),
  • Stellen Sie sicher, dass die Virtualisierung im BIOS aktiviert ist.

Führen Sie zum Debuggen des Problems Folgendes aus:

VAGRANT_LOG=debug vagrant up

Wenn es nichts Offensichtliches gibt, versuchen Sie, von einem anderen Terminal aus vagrant sshoder auf folgende Weise eine Verbindung herzustellen :

vagrant ssh-config > vagrant-ssh; ssh -F vagrant-ssh default

Wenn der SSH immer noch fehlschlägt, führen Sie ihn erneut mit einer GUI aus (z config.gui = true. B. ).

Ist dies nicht der Fall, überprüfen Sie die laufenden Prozesse (z. B. durch vagrant ssh -c 'pstree -a':) oder überprüfen Sie Ihre sshd_config.


Wenn es sich um eine Einweg-VM handelt, können Sie sie immer destroyund upimmer wieder verwenden. Erwägen Sie auch ein Upgrade Ihrer Vagrant und Virtualbox.


0

Ich habe gerade ein ähnliches Problem gelöst.

Problem : Der Befehl zum Anmelden bei der Entwicklungsumgebung des Gasts vagrant sshist abgelaufen. Es funktioniert routinemäßig problemlos auf einem anderen Hostcomputer.

Debugging-Schritte:

  1. In der Vagrant-Datei habe ich die Virtualbox-GUI (wie in einer anderen Antwort empfohlen) aktiviert, um zu sehen, was die Zeitüberschreitung verursacht hat. Ubuntu fragte nach einem Login und einem Passwort, was es nicht sollte, da es stattdessen den SSH-Schlüssel verwenden sollte.

  2. Anstatt zu laufen vagrant ssh, habe ich mehrmals einen entsprechenden ssh-Befehl ausgeführt und dabei verschiedene ssh-Optionen hinzugefügt und entfernt. Eine der Timeout-Fehlermeldungen lautete "Konnte mich nicht bei [example.com] anmelden". Dies macht keinen Sinn, da dieses Problem nichts mit [example.com] zu tun hat.

  3. Das veranlasste mich also, mir die .ssh / config anzuschauen, wo [example.com] möglicherweise von Bedeutung ist.

Root Cause : In .ssh / config gibt es einen Eintrag ohne HostSet, aus Versehen. Daher wurde diese Konfigurationsregel auf alle ssh-Aufrufe angewendet, einschließlich vagrant ssh(was nur eine Abkürzung für einen längeren ssh-Befehl ist).

Lösung : Stellen Sie sicher, dass jeder .ssh / config-Eintrag Hostfestgelegt wurde.


0

Versuchen Sie zu generieren insecure_private_key

Ich löste dieses Problem, indem ich die insecure_private_key, darunter befindliche, entfernte~/.vagrant.d

Vielleicht ist der Grund, dass die insecure_private_keyDatei alt ist


0

Ich hatte das gleiche problem Ich habe alles aus SystemPrefereces-> Security-> Firewall gelöscht und alle Dienste aus SystemPreferences-> Shared entfernt. Dann habe ich die Remote-Anmeldung wieder aktiviert. Das hat das Problem in meinem Fall behoben. Wenn dies Ihr Problem nicht löst, können Sie diese Website besuchen und selbst überprüfen. (ServerFaqs)


0

Ich habe ein ähnliches Problem erlebt. Hier ist was ich getan habe.

  • Aktivierte Virtualisierung im BIOS
  • Ran ssh-add ~/.vagrant.d/insecure_private_key
  • Zu config.vm.boot_timeout = 600meinem hinzugefügt~/Homestead/Vagrantfile

Es funktioniert jetzt gut.


0

Sie müssen die GUI können. Entfernen Sie den Kommentar dieser Zeilen in Ihrer VagrantDatei:

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end

Nachdem Sie Ihren Computer heruntergefahren und neu gestartet haben müssen:

vagrant halt
vagrant up

0

Wie ich das behoben habe:

in vagrantfile, aktiviere / entkommentiere die Belows ...

config.vm.network "private_network", ip: "192.168.33.10"
...
config.vm.network "public_network"

0

Dieses Problem kann durch viele Faktoren verursacht werden, einschließlich einer Situation, in der die VM-Box auf die Antwort des Benutzers wartet. Ein häufiges Problem war jedoch die Nichtübereinstimmung zwischen dem privaten und dem öffentlichen Schlüssel. Um dieses Problem zu beheben, müssen Sie eine private Schlüsseldatei auf Ihrem Hostcomputer bereitstellen, die mit der öffentlichen Schlüsseldatei auf der VM-Box übereinstimmt. Ich habe hier in unserem Blog eine Lösung mit 3 optionalen Ansätzen gepostet ...

http://www.productiveminds.com/blog/vagrant-ssh-authentication-how-to-successfully-login-into-vm-box-using-vagrant-up/



0

Ich habe das gleiche Problem und dies ist meine erste Erfahrung mit Vagrant.

Ich konnte das Problem "lösen", indem ich ein öffentliches anstelle eines privaten Netzwerks verwendete

config.vm.network "public_network", ip: "192.168.3.175"

Ersetzen Sie 192.168.3.175durch eine IP, die zu Ihrer Netzwerkklasse gehört.

Ich würde gerne verstehen, was mit dem privaten Netzwerk nicht stimmt ...


es hat noch nicht funktioniert. = /
PoLIVoX

dann stelle sicher, dass du die neueste version von vagrant und virtualbox hast (lade das paket von der website herunter)
damko

Übrigens gab es bei der Installation einige Probleme, die auf benutzerdefinierte Einstellungen wie "~ / .bashrc" und das Vorhandensein von "/ etc / SuSE-release" in meiner Mint 15-Box zurückzuführen waren (erforderlich für eine andere Software). Aber unter all den Änderungen, die ich vorgenommen habe, glaube ich wirklich, dass es die Installation der neuesten Pakete ist
damko

Ich habe meinen Server aktualisiert und nicht funktioniert! = /
PoLIVoX

Ich habe die von meiner Distribution bereitgestellten Pakete nicht verwendet. Ich habe von den offiziellen Websites (Vagrant und Virtualbox) heruntergeladen
Damko

0

config.vm.boot_timeout- Die Zeit in Sekunden, die Vagrant darauf wartet, dass die Maschine hochfährt und erreichbar ist. Standardmäßig sind dies 300 Sekunden.

Ich würde dies erhöhen, bis Sie in der Lage sind, SSH zu übertragen.


Ich habe es versucht und es hat nicht funktioniert. = / Ich habe das Zeitlimit 600
PoLIVoX am

Kannst du dein Vagrantfile posten?
Dmourati

Ich habe mein Vagrantfile gepostet.
PoLIVoX
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.