Ich habe eine Multi-Machine-Vagrant-Umgebung mit drei Knoten erstellt und habe Probleme, von einem Vagrant-VM zum anderen zu wechseln.
Hier ist das Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.define "master" do |master|
master.vm.hostname = "master.local"
master.vm.network "private_network", type: "dhcp"
end
config.vm.define "node1" do |node1|
node1.vm.hostname = "node1.local"
node1.vm.network "private_network", type: "dhcp"
end
config.vm.define "node2" do |node2|
node2.vm.hostname = "node2.local"
node2.vm.network "private_network", type: "dhcp"
end
end
Die Hosts-Datei (auf jedem Knoten gleich):
$ cat /etc/hosts
172.28.128.3 master.local master
172.28.128.4 node1.local node1
172.28.128.5 node2.local node2
Ich kann den ganzen Tag von jeder Maschine zur anderen pingen, aber ich kann nicht von einem Landstreicher zum anderen wechseln. Die typische Fehlermeldung lautet (von Knoten1 bis Master):
[vagrant@node1.local] $ ssh vagrant@172.28.128.3
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
SSH läuft und der Port ist offen.
Die Firewall wird nicht ausgeführt.
Ich bin sicher, das hat mit SSH-Schlüsseln zu tun. Ich gebe gerne zu, dass ich kein Experte bin.
Was mache ich hier falsch, Leute?
ssh vagrant@host
und auchvagrant
als Passwort verwenden.ip a
der Frage die Ausgabe aller Felder hinzu und prüfen Sie, ob die IP-Adressen (172.28.128.3-5) verfügbar sind, wenn die Felder nicht verfügbar sind.Antworten:
Die folgende Vagrant-Datei behebt dieses Problem.
Sie können alle unterstützenden Schlüsseldateien zusammen mit dieser Vagabunddatei unter https://github.com/malyabee/IaaC/tree/master/ansible_lab herunterladen
quelle
Laut den Dokumenten sollte man verwenden:
Wenn es einen einzelnen Knoten gibt, verwenden Sie
vagrant ssh
und definieren Sie bei mehreren Knoten den Namen oder die ID der VM, zvagrant ssh box1
Wenn man zwischen Boxen ssh möchte, kann man einen ssh-Schlüssel erstellen und den privaten Schlüssel für jede Box bereitstellen und den öffentlichen Schlüssel zur Datei "authorized_keys" hinzufügen.
https://www.vagrantup.com/docs/provisioning/file.html
quelle
vagrant ssh name
in einer Box verwenden? Die Frage betrifft die Verbindung von ssh von node1.local zu master.local, die beide Maschinen sind, die von vagrant gedreht werden.Versuchen Sie diesen Link . Sie müssen entweder eine der folgenden Aktionen ausführen:
ssh -i <pathto/private_key> <vagrant>@<ip>
ssh -o PreferredAuthentications=password user@server-ip
(wenn Sie die kennwortbasierte Authentifizierung nicht deaktiviert haben)quelle