Lokaler Vagrant-Computer, der unter der IP-Adresse 10.0.0.23
mit dem Hostnamen installiert ist lamp-vm
.
Mit dem vagrant ssh
Befehl kann ich mich gut verbinden und alles tun, was ich brauche.
Dies erzeugt einen Fehler
$ ssh vagrant @ lamp-vm -v -v
debug1: Verbindung zu Adresse 10.0.0.23 herstellen Port 22: Zeitüberschreitung bei Verbindung
ssh: Verbindung zu Host-Lampe herstellen vm Port 22: Zeitüberschreitung bei Verbindung
Meine /etc/hosts
Datei enthält 10.0.0.23 lamp-vm
.
Meine .ssh / config-Datei sieht aus wie
Host lamp-vm
Benutzer vagrant
IdentityFile ~ / .ssh / vagrant
Ich habe den Befehl ssh mit und auch ohne ausprobiert -i /path/to/.sh/identity_file
.
Wie verbinde ich mich mit SSH mit meiner Vagrant Virtual Machine?
ssh -p 2222 vagrant@localhost
) ist davon nicht betroffen.Es ist alt, aber da es keine Antwort gibt, werde ich eine geben. Befehl:
Ist das Äquivalent von
Dies ist das Standardverhalten, wenn Sie den Änderungsbefehl entsprechend geändert haben. Zunächst erstellt Vagrant einen Vagrant-Benutzer auf Ihrer Gastbox, und Sie verwenden diesen Benutzer für ssh. Wie bereits erwähnt, wird der Datenverkehr standardmäßig von Port 2222 auf Ihrem Host an Port 22 auf Ihrem Gast weitergeleitet (wenn Sie vagrant up verwenden, wird diese Nachricht angezeigt). Und schließlich erstellt Vagrant Schlüssel für die SSH-Sitzung, damit Sie dies nicht müssen. Daher müssen Sie bei der Verbindung über SSH einen öffentlichen Schlüssel als Argument angeben.
quelle
Dieses Verhalten ist beabsichtigt.
Vagrant verwendet den VirtualBox NAT-Modus, dh die Portweiterleitung.
Sie können im NAT-Modus kein SSH direkt auf Ihre VM übertragen.
Die Verwendung von 'vagrant ssh' bedeutet, dass vagrant die Portweiterleitung für Sie übernimmt, sodass Sie sich darüber keine Sorgen machen müssen. Ich denke, es wird standardmäßig eine Verbindung zu localhost auf Port 2222 hergestellt, aber es wird auch versucht, alle Kollisionen von Portnummern zu sortieren.
Wenn Sie SSH direkt an Ihre VM senden müssen, schalten Sie die VM in den Nur-Host- oder Bridged-Netzwerkmodus.
quelle
Ich hätte dies als Kommentar hinzugefügt, aber ich habe derzeit nicht genügend Repräsentanten, um dies zu tun. Ich habe hier eine Anleitung zum Einstellen Ihrer VM in den Bridged-Modus geschrieben:
/ubuntu/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909
Ich hoffe, Sie finden das nützlich!
quelle
Windows / Vagrant / Ubuntu
Dies hat bei mir funktioniert und Sie können schnell herausfinden, ob dies funktioniert, indem Sie dies auf dem ssh-Client ausführen.
ssh [email protected] -p 2222 -v
Das -v versetzt es in den ausführlichen Modus und zeigt Debug-Informationen an ...
Also ... SSH2_MSG_KEXINIT bedeutet, dass die Schlüssel ausgetauscht werden. Dies scheitert in Kürze ...
In diesem Fall habe ich meine Schlüssel gelöscht und sie auf der VM neu generiert. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )
$ ls -al / etc / ssh / ssh Schlüssel
$ sudo rm -r / etc / ssh / ssh Schlüssel
$ sudo dpkg-Reconfigure openssh-server
Sobald meine Schlüssel regeneriert waren, konnte ich SSH in meine Vagrant Box.
quelle
Virtuelle Maschine zerstört Virtuelle Maschine neu
geladen
Alles hat funktioniert
Ich weiß nicht warum, aber offensichtlich wurde bei der ersten Bereitstellung etwas nicht richtig geladen.
quelle
Lesen Sie diesen Kommentar: https://github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674
Grundsätzlich funktioniert Vagrant auch bei Verwendung privater Netzwerke auf 127.0.0.1. Versuchen Sie diesen ssh-Befehl @ 127.0.0.1 anstelle Ihres privaten IP- / Hostnamens.
quelle