428 Stimmen

Vagrant steckte Verbindung Timeout erneut versuchen

Mein Vagrant hat gestern Abend einwandfrei funktioniert. Ich habe gerade den PC eingeschaltet, vagrant up eingegeben und das ist das Ergebnis:

==> default: Löschen zuvor festgelegter Netzwerkschnittstellen...
==> default: Vorbereiten von Netzwerkschnittstellen basierend auf der Konfiguration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Ports weiterleiten...
    default: 22 => 2222 (Adapter 1)
==> default: VM wird gebootet...
==> default: Warte darauf, dass die Maschine bootet. Dies kann einige Minuten dauern...
    default: SSH-Adresse: 127.0.0.1:2222
    default: SSH-Benutzername: vagrant
    default: SSH-Authentifizierungsmethode: privater Schlüssel
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...
    default: Fehler: Verbindungstimeout. Wiederholung...

Hatte das schon einmal jemand? Vagrant wird noch nicht weitreichend im Web behandelt und ich kann keinen Grund finden, warum dies passiert.

5voto

kenorb Punkte 134883

Die SSH-Verbindung Time-out während des initialen Bootens kann mit einer Vielzahl von Gründen zusammenhängen, wie zum Beispiel:

  • überprüfen Sie, ob die Virtualisierung im BIOS aktiviert ist (gemäß Kommentar),
  • das System wartet auf Benutzerinteraktion (z.B. Freigabepartition ist nicht bereit),
  • Ungültigkeit des privaten Schlüssels (überprüfen Sie die Konfiguration über vagrant ssh-config),
  • der Bootvorgang dauert zu lange (versuchen Sie, config.vm.boot_timeout zu erhöhen),
  • es wird von der falschen Festplatte gebootet (z.B. vom Installations-ISO),
  • VM-Firewall-Fehler (z.B. iptables-Konfiguration),
  • lokale Firewall-Regeln, Portkonflikte oder Konflikte mit VPN-Software,
  • sshd-Konfigurationsfehler.

Zur Fehlersuche führen Sie bitte das Ganze mit der Option --debug oder so aus:

VAGRANT_LOG=debug vagrant up

Wenn nichts Offensichtliches vorhanden ist, versuchen Sie, von einem anderen Terminal aus eine Verbindung herzustellen, mit vagrant ssh oder durch:

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

Wenn der SSH-Verbindung noch immer fehlschlägt, versuchen Sie, es mit einer grafischen Benutzeroberfläche (GUI) auszuführen (z.B. config.gui = true).

Wenn nicht, ü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 temporäre VM handelt, können Sie immer versuchen, sie zu zerstören und erneut zu starten.

Sie sollten auch in Betracht ziehen, Ihr Vagrant und Virtualbox zu aktualisieren.


Weitere Informationen finden Sie auf der Seite zum Debugging und zur Fehlerbehebung.

5voto

wmaddox Punkte 151

Ich habe einen montierten Ordner in meiner Vagrant-VM getestet, indem ich einen neuen Eintrag in /etc/fstab hinzugefügt habe. Später habe ich mich ausgeloggt, Vagrant heruntergefahren, aber als ich vagrant up ausgeführt habe, erhielt ich:

SSH-Authentifizierungsmethode: privater Schlüssel
Warnung: Remote-Verbindung getrennt. Wiederholung...

Ich habe alle Beiträge gelesen und alle ausprobiert, die für meinen Fall relevant erschienen (außer vagrant destroy, was mein Problem sicher gelöst hätte, aber in meinem Fall das letzte Mittel war). Der Beitrag von @Kiee gab mir die Idee, meine VM direkt über die VirtualBox-Oberfläche zu starten. Während des Startvorgangs hat sich die VM selbst angehalten und mich gefragt, ob ich das Testverzeichnis überspringen möchte, das ich zuvor zu /etc/fstab hinzugefügt hatte. (Deshalb konnte Vagrant die VM nicht starten.) Nachdem ich mit 'NEIN' geantwortet hatte, wurde die VM problemlos gestartet. Ich habe mich eingeloggt, die unartige Zeile aus meiner fstab entfernt und die VM heruntergefahren.

Danach konnte Vagrant problemlos starten.

Fazit? Wenn Vagrant plötzlich nicht mehr in Ihre VM booten kann, versuchen Sie, direkt über den Anbieter zu starten (in meinem Fall VirtualBox). Wahrscheinlich hängt Ihr Bootvorgang an etwas völlig Unabhängigem von SSH.

4voto

Gwidryj Punkte 955

Ich hatte dasselbe Problem, aber keines der anderen Antworten hat mein Problem vollständig gelöst. Die Antwort von @Kiee war hilfreich, obwohl ich in der GUI nur einen schwarzen Bildschirm sehen konnte (mit einem Unterstrich oben links, dieses Problem in Virtual Box wurde auch separat bei Stack Overflow diskutiert, aber auch hier hat nichts geholfen).

Letztendlich stellte sich die Lösung als sehr einfach heraus: Überprüfen Sie die Version Ihrer virtuellen Maschine.

Genauer gesagt hatte ich eine Box von jemand anderem mit 64-Bit Debian, aber Virtual Box bestand darauf, es als 32-Bit zu behandeln, was ich nicht bemerkt habe. Um dies zu ändern, öffnen Sie Virtual Box, dann öffnen Sie das Terminal und führen Sie aus

vagrant up

warten Sie auf die Zeile

default: SSH-Authentifizierungsmethode: privater Schlüssel

jetzt können Sie Strg+C drücken (oder auf das Timeout warten) und führen Sie aus

vagrant halt

Ihre virtuelle Maschine wird nicht zerstört, sodass Sie sie im Menü von Virtual Box sehen können, aber sie wird ausgeschaltet, sodass Sie Einstellungen ändern können. Wählen Sie Ihre Maschine im Menü aus, klicken Sie auf 'Einstellungen'->'Allgemein' und wählen Sie die richtige 'Version' aus, für mich war es 'Debian (64-Bit)'. Geben Sie danach erneut vagrant up ein.

Wenn dies auch Ihr Fall ist (oder unterschiedliche Änderungen in den 'Einstellungen' Ihr Problem gelöst haben), können Sie eine neue Box aus der reparierten erstellen, indem Sie eingeben

vagrant package --output mynew.box

Weitere Details: host 32-Bit Ubuntu 12.04, guest 64-Bit Debian 8.1, Virtual Box 5.0.14, Vagrant 1.8.1

4voto

giovannipds Punkte 2123

Es gibt viele gute Antworten hier, und ich konnte nicht alles lesen, aber ich wollte auch meinen kleinen Beitrag leisten. Ich hatte 2 verschiedene Probleme:

  1. vagrant up konnte mein SSH 'id_rsa' nicht finden (weil ich es zu diesem Zeitpunkt noch nicht hatte): Ich habe ssh-keygen -t rsa -b 4096 -C "meineemailadresse@meinedomain.com" ausgeführt, basierend auf diesem GitHub-Artikel, und schwupps, bin ich durchgegangen;

  2. Dann hatte ich das gleiche Problem wie bei dieser Frage "Warnung: Verbindung abgelaufen. Erneuter Versuch...", für immer...: Also, nach viel Lesen habe ich mein System neu gestartet und mein BIOS überprüft (F2, um dorthin zu gelangen, auf dem PC), und dort war Virtualisierung deaktiviert. Ich habe das aktiviert, gespeichert und das System erneut gestartet, um zu überprüfen, ob sich etwas geändert hat.

Nachdem das vagrant up funktioniert hat wie geschmiert! Es ist 4 Uhr morgens, aber es läuft! Wie cool, oder? :D Da ich weiß, dass es sehr wenige masochistische Entwickler wie mich gibt, die dies bei Windows ausprobieren würden, insbesondere bei Windows 10, konnte ich einfach nicht vergessen, hierher zu kommen und ein paar Worte zu hinterlassen... eine weitere wichtige Information ist, dass ich versucht habe, Laravel 5 mit Homestead, VirtualBox, Composer usw. einzurichten. Es hat funktioniert. Also, hoffentlich hilft diese Antwort genauso wie diese Frage und Antworten mir geholfen haben. Meine besten Wünsche. Tschüss!

4voto

David Punkte 1881

Ich habe herausgefunden, dass auf MacOS mit VirtualBox das Hinzufügen dieses Codes zur Vagrantfile es Ihnen ermöglichen wird, weiterzugehen:

config.vm.provider 'virtualbox' do |vb|
  vb.customize ['modifyvm', :id, '--cableconnected1', 'on']
end

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X