![SSH entre múltiples máquinas virtuales Vagrant](https://rvso.com/image/1558053/SSH%20entre%20m%C3%BAltiples%20m%C3%A1quinas%20virtuales%20Vagrant.png)
Estoy intentando instalar un clúster local de 3 nodos de HP Vertica. La instalación de Vertica utiliza SSH para instalar el software del servidor DB en cada nodo cuando se activa desde cualquiera de los nodos.
Recibo un error que dice "Permiso denegado (clave pública). He revisado las diversas publicaciones de StackOverflow y obtuve un VagrantFile de la siguiente manera: -
# -*- mode: ruby -*-
# vi: set ft=ruby :
BOX_IMAGE = "ubuntu/xenial64"
NODE_COUNT = 3
Vagrant.configure("2") do |config|
(1..NODE_COUNT).each do|i|
config.vm.define "vertica_node#{i}" do |subconfig|
subconfig.vm.box = BOX_IMAGE
subconfig.vm.hostname="verticaNode#{i}"
if i == 1
subconfig.vm.network "forwarded_port", guest: 5433, host: 5433, id: "Vertica DBEngine"
subconfig.vm.network "forwarded_port", guest: 5450, host: 5450, id: "Vertica MC"
subconfig.vm.network "forwarded_port", guest: 1527, host: 1527, id: "Vertica MCDatabase"
end
subconfig.vm.network "private_network", ip: "192.168.33.#{i + 10}"
subconfig.vm.synced_folder "./data", "/vagrant/data", create: true
subconfig.vm.provider "virtualbox" do |vb|
vb.name = "VerticaUbuntu_Node#{i}"
vb.memory = "2048"
end
end
end
config.ssh.forward_agent = true
config.ssh.insert_key = false
config.ssh.private_key_path = ["~/.vagrant.d/insecure_private_key","~/.ssh/id_rsa"]
config.vm.provision "shell", path: "bootstrap.sh"
config.vm.provision "shell", privileged: false do |s|
ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
s.inline = <<-SHELL
echo #{ssh_pub_key} >> /home/$USER/.ssh/authorized_keys
sudo bash -c "echo #{ssh_pub_key} >> /root/.ssh/authorized_keys"
SHELL
end
end
Aparecen las 3 máquinas virtuales. Puedo SSH desde el anfitrión a cada invitado. Mientras estoy como invitado, puedo hacer ping a los demás invitados.
Si intento hacer SSH de un invitado a uno de los otros invitados, recibo un mensaje
The authenticity of host '192.168.33.11 (192.168.33.11)' can't be established.
ECDSA key fingerprint is SHA256:kEdfmMkISpmDMKGGOw77zCLakujVWZYRQomCMYTWZ0E.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.33.11' (ECDSA) to the list of known hosts.
Permission denied (publickey).
Agradecería cualquier ayuda para resolver este problema.
Respuesta1
yo sueloDesencadenantes vagabundospara poder realizar ssh de una máquina a otra:
Vagrant.configure("2") do |config|
config.vm.define "master", primary: true do |master|
# something
end
config.vm.define "node" do |node|
# something else
node.trigger.after :up do |trigger|
trigger.run = { inline:
"vagrant ssh master -- cp /vagrant/.vagrant/machines/node/virtualbox/private_key ~/.ssh/id_rsa"
}
end
end
end