Das Problem mit der SSH-Authentifizierung:
==> 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: Adapter 2: bridged
==> 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: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
Ich kann Ctrl+C
aus der Authentifizierungsschleife heraus und dann erfolgreich manuell ssh.
Ich habe die folgenden Schritte für die Gastbox ausgeführt:
Aktiviert
Remote Login
fürAll Users
.Erstellt das
~/.ssh
Verzeichnis mit0700
Berechtigungen.Erstellt die
~/.ssh/authorized_keys
Datei mit0600
Berechtigungen.Fügte diesen öffentlichen Schlüssel in ein
~/.ssh/authorized_keys
Ich habe auch versucht, ein privates (nur Host) Netzwerk anstelle des öffentlichen (überbrückten) Netzwerks zu verwenden, indem ich diese Zeile in der Vagrant-Datei verwendet habe:
config.vm.network "private_network", ip: "172.16.177.7"
Ich bekomme die gleiche Ausgabe (außer Adapter 2: hostonly
), kann dann aber nicht manuell ssh.
Ich habe es auch versucht config.vm.network "private_network", ip: "10.0.0.100"
.
Ich habe auch versucht, config.ssh.password
in der Vagrant-Datei zu setzen. Dies gibt SSH auth method: password
zwar aus, authentifiziert sich aber immer noch nicht.
Und ich habe auch versucht, die Box neu aufzubauen und alle oben genannten Punkte erneut zu überprüfen.
Es sieht so aus, als ob andere mit dieser Konfiguration erfolgreich waren , also muss etwas falsch sein.
Ich habe diesen Thread gefunden und die GUI aktiviert, aber das hilft nicht.
quelle
config.ssh.private_key_path = "~/.ssh/id_rsa"
diese Zeile entfernt werden musste, damit die Bereitstellung funktioniertKeines der oben genannten hat bei mir funktioniert. Irgendwie wurde der Box der falsche öffentliche Schlüssel in der vagrant user authorised_keys- Datei hinzugefügt .
Wenn Sie immer noch mit dem vagabundierenden Passwort (Passwort ist vagabundierend) auf der Box ssh können, dh
Kopieren Sie dann den Inhalt des öffentlichen Schlüssels von https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub mit dem folgenden Befehl in die Datei authorised_keys
Wenn Sie fertig sind, beenden Sie die VM und versuchen Sie es erneut mit vagrant ssh. Es sollte jetzt funktionieren.
quelle
vagrant reload
nach dem Aktualisieren der Datei authorized_keys aus. Vagrant erkennt den unsicheren Schlüssel automatisch und generiert ihn für Sie neu. Sollte danach funktionieren.Wenn dieses Problem in Vagrant 1.8.5 auftritt, lesen Sie diesen Thread auf Github:
https://github.com/mitchellh/vagrant/issues/7610
Es ist im Wesentlichen durch ein Berechtigungsproblem verursacht, die Problemumgehung ist gerecht
dann
Zu Ihrer Information: Dieses Problem betrifft nur CentOS, Ubuntu funktioniert einwandfrei.
quelle
Führen Sie die folgenden Befehle in Gastcomputer / VM aus:
Dann machen Sie einen vagabundierenden Halt. Dadurch werden Ihre privaten Schlüssel entfernt und neu generiert.
(Bei diesen Schritten wird davon ausgegangen, dass Sie die Verzeichnisse ~ / .ssh / und ~ / .ssh / autorisierte_keys bereits erstellt haben oder bereits in Ihrem Basisordner haben.)
quelle
Nach meiner Erfahrung war dies ein überraschend häufiges Problem bei neuen Vagabundmaschinen. Der bei weitem einfachste Weg, dies zu lösen, bestand darin, die erforderlichen SSH-Schlüssel manuell auf dem Client zu erstellen und dann den privaten Schlüssel auf dem Host zu verwenden, anstatt die Konfiguration selbst zu ändern.
vagrant ssh
Verwenden Sie das Standardkennwortvagrant
.ssh-keygen -t rsa -b 4096 -C "vagrant"
( wie in der entsprechenden Anleitung von GitHub empfohlen ).mv .ssh/id_rsa.pub .ssh/authorized_keys
.sudo service ssh reload
.cat .ssh/id_rsa
, malen und kopieren Sie (es müssen bessere Möglichkeiten existieren, erfinden Sie eine!).logout
.vagrant ssh-config
ansehen : (Suchen Sie beispielsweise nach ÌdentityFile "/[...‹/private_key".nano /[...]/private_key
aus der Zwischenablage ein, wenn alles andere fehlschlägt. ( Beachten Sie jedoch, dass Sie Ihren Pfad besser selbst konfigurieren sollten, wenn Ihr private_key nicht projektspezifisch ist, sondern von mehreren Vagrant-Computern gemeinsam genutzt wird, um andere perfekt funktionierende Maschinen nichtconfig.ssh.private_key_path = "path/to/private_key"
zu beschädigen. Das Ändern des Pfads ist so einfach wie das Hinzufügen einer Zeile zur Vagrant-Datei. ) Wenn Sie einen von PuPHPet generierten Computer verwenden, können Sie Ihren privaten Schlüssel in einer Datei speichernpuphpet/files/dot/ssh/id_rsa
und er wird automatisch zur ssh-Konfiguration von Vagrantfile hinzugefügt.vagrant ssh
sollte jetzt funktionieren.Sollte dies der Fall sein, gratulieren Sie sich selbst,
logout
laufen Sievagrant provision
bei Bedarf und fahren Sie mit der sinnvollen Aufgabe fort.Wenn Sie immer noch auf Probleme stoßen, kann es nützlich sein, dem Befehl ssh ein ausführliches Flag hinzuzufügen, um das Debuggen zu vereinfachen. Sie können dies (oder eine andere Option) nach einem Doppelstrich übergeben. Zum Beispiel tippen
vagrant ssh -- -v
. Fühlen Sie sich frei, so viele Vs hinzuzufügen, wie Sie benötigen. Jedes gibt Ihnen weitere Informationen.quelle
ssh [email protected] -p 22 (password: vagrant)
bei VM anzumelden, davagrant ssh
es für mich nicht funktionierte.10.0.0.0
ist die private IP-Adresse, die ich in meinem festgelegt habevagrantfile
.Dies kann auch passieren, wenn Sie versuchen, Ihre VM zu zwingen, standardmäßig einen Root-Benutzer für SSH zu verwenden.
Beispielsweise kann eine Konfiguration wie diese in Ihrer Vagrant-Datei diesen Fehler verursachen:
Lösung: Kommentieren Sie diese Zeilen aus und versuchen Sie es erneut!
quelle
Problem Ich habe die SSH-Authentifizierungsfehler auf einer von mir bereitgestellten Box erhalten. Das Original funktionierte einwandfrei.
Das Problem für mich war, dass mir ein privater Schlüssel fehlte
.vagrant/machines/default/virtualbox/private_key
. Ich habe den privaten Schlüssel von der gleichen relativen Position aus der Originalverpackung und Viola kopiert!quelle
.vagrant
Dateien in Git einchecken ... und als solchesgit checkout
spart ein kurzer Teil dieser Datei den Tag!Ich habe einen Weg gefunden, um das Durcheinander mit den Schlüsseln unter Win 8.2 zu umgehen, bei dem ich mit keiner der hier genannten Methoden Erfolg hatte. Es kann interessant sein, dass genau dieselbe Kombination aus VirtualBox, Vagrant und der Box unter Win 7 Ultimate problemlos ausgeführt werden kann.
Ich habe zur Kennwortauthentifizierung gewechselt, indem ich die folgenden Befehle in Vagrantfile hinzugefügt habe:
Beachten Sie, dass ich nicht sicher bin, ob dies die einzigen erforderlichen Änderungen sind, da ich dies bereits getan habe:
Ich habe ein neues RSA-Schlüsselpaar generiert und die Datei authorized_keys entsprechend geändert (alle in der virtuellen Maschine, siehe die obigen Vorschläge und anderswo).
Ich habe den privaten Schlüssel in dasselbe Verzeichnis kopiert, in dem sich Vagrantfile befindet, und hinzugefügt
Aber ich glaube, dass diese Änderungen irrelevant waren. Ich habe viel Zeit damit verbracht, es zu versuchen, also habe ich die Arbeitskonfiguration aus offensichtlichen Gründen nicht geändert :)
quelle
Sie können den Vagabund nicht hochlaufen lassen, weil er stecken bleibt und eine Zeitüberschreitung auftritt?
Ich hatte kürzlich einen "Water in Laptop-Vorfall" und musste auf einen neuen migrieren (übrigens auf einem MAC).
Ich habe alle meine Projekte erfolgreich neben dem Projekt gestartet, bei dem Vagrant verwendet wurde.
Es konnte sich nicht authentifizieren, versuchte es immer wieder und gab schließlich auf.
** So habe ich es in 3 Schritten wieder in Form gebracht: **
1 - Finden Sie die von Vagrant verwendete IdentityFile: $
vagrant ssh-config
2 - Überprüfen Sie den öffentlichen Schlüssel in der IdentityFile: $
ssh-keygen -y -f /Users/<user-name>/.vagrant.d/insecure_private_key
Ersetzen Sie ihn'<user-name>'
durch Ihren Benutzer. Es wird ungefähr so aussehen:3 - Melden Sie sich mit dem Passwort "vagrant" am $ vagrant an: $
ssh -p 2222 -o UserKnownHostsFile=/dev/null [email protected]
4 - Fügen Sie den öffentlichen Schlüssel zur Datei authorized_keys hinzu. $
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys ssh-rsa
5 - Verlassen Sie (crtl + d) und stoppen Sie den Vagabundbehälter und bringen Sie ihn wieder hoch. $
vagrant halt
$vagrant up
Hoffentlich haben Sie jetzt Ihre Arme in der Luft ...
Ich habe dies mit nur einer kleinen Änderung aus dem Artikel von Ned Batchelders erhalten - Ned, du bist ein Champion !!
quelle
Für mich wurde dies behoben, indem die Berechtigungen für den Ordner .ssh im vagrant home directort (dh "~ vagrant / .ssh") geändert wurden. Ich glaube, ich habe die Berechtigungen durcheinander gebracht, als ich SSH-Schlüssel für meine Anwendung eingerichtet habe.
Es scheint, dass die Datei 'authorized_keys' nur für 'vagrant' Benutzer 'rw' sein darf, also "chmod 600 autorisierte_keys"; Gleiches gilt für das Verzeichnis selbst und sein übergeordnetes Verzeichnis:
so:
Erst nachdem ich all diese Berechtigungen wiederhergestellt hatte, begann vagrant ssh wieder zu arbeiten.
Ich denke, das hat etwas mit der SSH-Sicherheit zu tun. Es lehnt es ab, Zertifikate zu erkennen, wenn sie über den aktuellen Benutzer hinaus zugänglich sind. Daher werden vagabundierende Anmeldeversuche abgelehnt.
quelle
/vagrant/...
Wenn Sie das Standard-SSH-Setup in Ihrer VagrantFile verwenden und nach dem erneuten Zuordnen Ihrer VM-Box aufgrund eines Absturzes SSH-Authentifizierungsfehler feststellen, versuchen Sie, den öffentlichen Schlüssel in Ihrem Vagrant-Computer zu ersetzen.
Vagrant ersetzt aus Sicherheitsgründen bei jedem Abmelden den öffentlichen Schlüssel, der mit einem unsicheren privaten Schlüsselpaar verknüpft ist. Wenn Sie Ihren Computer nicht ordnungsgemäß heruntergefahren haben, kann das öffentliche / private Schlüsselpaar nicht mehr synchron sein, was zu einem SSH-Authentifizierungsfehler führt.
Um dieses Problem zu beheben, laden Sie einfach den aktuellen unsicheren privaten Schlüssel und kopieren Sie das öffentliche Schlüsselpaar in die Datei "authorized_keys" Ihrer VM.
quelle
Dies könnte die letzte Antwort in der Liste sein, aber dies hat bei mir funktioniert und ich habe diese Antwort nirgendwo gefunden. Ich habe sie nach 2 Tagen Recherche selbst gefunden. Versuchen Sie es also besser, wenn bis jetzt nichts anderes für Sie funktioniert hat.
In meinem Fall kam das Problem von meiner VirtualBox. Ich weiß nicht, aus welchem Grund eine Option deaktiviert wurde und hätte aktiviert werden sollen.
Wie Sie in der Abbildung sehen können, gab es einige Netzwerkprobleme mit meiner VirtualBox. Um dieses Problem zu beheben, musste ich meinen Computer auswählen, auf Einstellungen, Registerkarte Netzwerk klicken und danach sicherstellen, dass die Option Kabel verbunden ist wurde ausgewählt. In meinem Fall wurde diese Option nicht ausgewählt und ich bin in diesem Schritt fehlgeschlagen:
Zuerst dachte ich, dass der Port bereits verwendet wird, danach habe ich Vagrant neu installiert und auch andere Dinge ausprobiert, aber keiner von ihnen hat für mich funktioniert.
quelle
Das ist mir schon mehrmals passiert und ich habe es so gelöst:
Überprüfen Sie, ob Ihre Vagrant-Datei über den richtigen Pfad für private Schlüssel verfügt:
config.ssh.private_key_path = "/home/razvan/.ssh/id_rsa"
Führen Sie den Befehl> vagrant ssh in einem Linux-Terminal aus
Gehen Sie auf Ihrer Vagabundmaschine zu
cd /home/vagrant/.ssh
und überprüfen Sie, ob der SSH-Schlüssel in der Datei "authorized_keys" mit dem auf Ihrem lokalen Computer in ~ / .ssh / id_rsa.pub übereinstimmt. Wenn nicht, ersetzen Sie den von Ihrem Vagrant autorisierten Schlüssel durch den auf Ihrem lokalen Computer in ~ / .ssh / id_rsa.pub.
Vagrant neu laden:
Vagabund nachladen
Hoffe das hilft jemand anderem. Prost!
quelle
authorized_keys
Datei mit 600 Berechtigungen.1. Suchen Sie den privaten Schlüssel auf dem Host:
Ausgabe:
2. Speichern Sie den privaten Schlüsselpfad und die Portnummer in Variablen:
Verwenden Sie diese beiden Befehle mit der Ausgabe von oben:
3. Generieren Sie einen öffentlichen Schlüssel und laden Sie ihn auf den Gastcomputer hoch:
Kopie / Pasta, keine Änderungen erforderlich:
quelle
config.ssh.username = "vagrant"; config.ssh.password = "vagrant"; config.ssh.insert_key = true
Diesmal hat die obige Konfiguration jedoch nichts bewirkt. Ich weiß nicht wirklich warum, habe versucht zu debuggen, warum der Schlüssel nicht ohne Glück eingefügt wird. Also habe ich auf Ihre Lösung zurückgegriffen und voila! Es klappt!Mac-Lösung:
Lokaler ssh id_rsa-Schlüssel zum vagabundierenden privaten Schlüssel hinzugefügt
vi /Users//.vagrant/machines/default/virtualbox/private_key
/Users//.ssh/id_rsa
kopierte öffentlichen Schlüssel /Users//.ssh/id_rsa.pub auf vagrant box autorisierte_schlüssel
ssh vagrant@localhost -p 2222
(Passwort: Landstreicher)ls -la
cd .ssh
chmod 0600 ~/.ssh/authorized_keys
vagrant reload
Problem gelöst.
Dank an
quelle
konnte auch nicht darüber hinaus kommen:
Standard: SSH-Authentifizierungsmethode: privater Schlüssel
Als ich die VirtualBox-Benutzeroberfläche verwendete, wurde mir mitgeteilt, dass ein Betriebssystemprozessor nicht übereinstimmt.
Um weiter voranzukommen, musste ich in den BIOS-Einstellungen kontraintuitiv vorgehen:
Deaktivieren: Virtualisierung
Aktivieren: VT-X
Versuchen Sie, diese Einstellung in Ihrem BIOS umzuschalten.
quelle
Zuerst sollten Sie die automatisch generierte Datei unsicherer_privater_schlüssel entfernen und diese Datei dann durch Eingabe neu generieren
dann
Es sollte funktionieren
quelle
Ich habe das Problem folgendermaßen gelöst. 1. Erstellen Sie einen neuen SSH-Schlüssel mit Git Bash
Wenn Sie aufgefordert werden, eine Datei einzugeben, in der der Schlüssel gespeichert werden soll, drücken Sie die Eingabetaste. Dies akzeptiert den Standardspeicherort der Datei.
Geben Sie eine Datei ein, in der der Schlüssel gespeichert werden soll (/Users/[you‹/.ssh/id_rsa): [Drücken Sie die Eingabetaste]
Geben Sie an der Eingabeaufforderung eine sichere Passphrase ein. Sie können leer lassen und die Eingabetaste drücken, wenn Sie keine Passphrase benötigen.
Geben Sie eine Datei ein, in der der Schlüssel gespeichert werden soll (/Users/[you‹/.ssh/id_rsa): [Drücken Sie die Eingabetaste]
Geben Sie den folgenden Befehl ein, um eine Verbindung zu Ihrer Vagrant-VM herzustellen
ssh vagrant @ localhost -p 2222
Wenn Sie die folgende Nachricht erhalten, geben Sie "Ja" ein und drücken Sie die Eingabetaste.
So stellen Sie jetzt einen SSH-Verbindungstyp her: $ vagrant ssh
Kopieren Sie den öffentlichen Hostschlüssel in die Datei authorized_keys in Vagrant VM. Wechseln Sie dazu in den Ordner "Users / [you] /. Ssh" und kopieren Sie den Inhalt in die Datei "id_rsa.pub" auf dem Hostcomputer und in die Datei "~ / .ssh / autorisierte_keys" in Vagrant VM.
quelle
Ich habe die Maschine dann gestartet:
vagrant ssh-config
Ich habe folgendes bekommen:
Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa IdentityFile /Users/my-user-name/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL
Dann bin ich gerannt
cat ~/.ssh/id_rsa > /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa
Maschine von hier an gebootet
quelle
Zwischen all den Antworten hier gibt es viele gute Dinge zu versuchen. Der Vollständigkeit halber, wenn Sie
ssh vagrant@localhost -p 2222
Wie @Bizmate vorschlägt und es fehlschlägt, stellen Sie sicher, dass Sie haben
AllowUsers vagrant
in der
/etc/ssh/sshd_config
Ihrer Gast- / Vagabundmaschine.quelle
Ich verwende Vagrant mit einem Puphpet-Setup ab Mai 2015 und hatte dieses Problem. Es scheint, dass die generierte Konfiguration das Verhalten von Vagrant 1.7.4 (oder vielleicht etwas früher?) Beim Regenerieren von SSH-Schlüsseln nicht behandelt hat, wenn ein unsicherer Schlüssel erkannt wird.
Ich habe es gelöst, indem ich Folgendes in meine von Puphpet generierte Vagrant-Datei (lokales Setup) in der Klausel "if File.file? (CustomKey)" eingefügt habe:
Referenz Commit
quelle
Dies sind die korrekten Schritte, die ich zur Behebung dieses unten aufgeführten Problems ausgeführt habe, als der Befehl zum Ausführen eines vagabundierenden Befehls ausgeführt wurde.
Dies sind die Schritte, denen ich gefolgt bin
************************* DAS IST FÜR MICH FEIN ARBEITEN ******************** ***********
quelle
Nur für jene Leute, die Idioten wie ich waren oder mit ihrer Vagabundmaschine etwas Seltsames passiert sind. Dieser Fehler kann auch auftreten, wenn Sie die Berechtigungen des Home-Verzeichnisses des vagabundierenden Benutzers (absichtlich oder versehentlich) geändert haben.
Sie können sich stattdessen (wie in anderen Beiträgen beschrieben) mit dem Kennwort ('vagrant') anmelden und dann den folgenden Befehl ausführen, um die Berechtigungen zu korrigieren.
sudo chown -R vagrant:vagrant /home/vagrant
Dann sollten Sie sich erneut anmelden können, ohne das Passwort einzugeben.
TL; DR: Die Berechtigungen für Ihren vagabundierenden Home-Ordner sind falsch.
quelle
Einfach:
Bearbeiten (nicht so einfach wie gedacht):
Das Problem war, dass neue Versionen von Homestead
php7.0
und einige andere Dinge verwendet werden. Um dieses Durcheinander zu vermeiden, stellen Sie Folgendesverison
einHomestead.yml
:quelle
Ich habe dieses Problem gelöst, indem ich Befehle unter Windows 7 CMD ausgeführt habe. Hier ist der Link zum letzten Beitrag in diesem Thread.
https://github.com/mitchellh/vagrant/issues/6744
quelle
Ich habe mir in den letzten Tagen auf einer neu verpackten Basisbox den Kopf geschlagen. (Mac OS X, El Capitan)
Nach dem Verfahren von @Radek habe ich 'vagrant ssh-config' auf der Quellbox ausgeführt und Folgendes erhalten:
Auf der neuen Kopie gab mir dieser Befehl:
Also habe ich gerade diese Zeile in die neue Kopie eingefügt:
Nicht perfekt, aber ich kann mit meinem Leben weitermachen.
quelle
Eine andere einfache Lösung: Gehen Sie in Windows zur Datei Homestead / Vagrantfile und fügen Sie diese Zeilen hinzu, um eine Verbindung mit einem Benutzernamen / Passwort anstelle eines privaten Schlüssels herzustellen:
Schließlich sieht ein Teil der Datei folgendermaßen aus:
Ich hoffe das hilft ..
quelle
Ich habe dies auf meinem VM-Computer versucht
ändere die Berechtigungen / home / vagrant (habe einen chmod 700 drauf gemacht)
jetzt kann ich direkt in meine boxen ssh
quelle