![SSH entre várias VMs do Vagrant](https://rvso.com/image/1558053/SSH%20entre%20v%C3%A1rias%20VMs%20do%20Vagrant.png)
Estou tentando instalar um cluster local de 3 nós do HP Vertica. A instalação do Vertica usa SSH para instalar o software DB Server em cada nó quando acionada a partir de qualquer um dos nós.
Recebo um erro dizendo "Permissão negada (chave pública). Trabalhei em várias postagens do StackOverflow e criei um VagrantFile da seguinte maneira: -
# -*- 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
Todas as 3 VMs aparecem. Posso usar SSH do host para cada convidado. Enquanto estiver em um convidado, posso fazer ping nos outros convidados.
Se eu tentar SSH de um convidado para um dos outros convidados, recebo uma mensagem
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).
Eu deveria ser grato por qualquer ajuda para resolver isso
Responder1
eu usoGatilhos vagabundospara poder fazer ssh de uma máquina para outra:
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