Como ssh entre um cluster de VMs convidadas do Vagrant

7

Eu tenho 3 VMs do Ubuntu 12.04 configuradas com rede em ponte e configuração com o Vagrant. Eu posso acessar todos eles do host usando "vagrant ssh", mas não consigo descobrir como eu me conecto de uma VM convidada a outra.

    
por IanSR 08.11.2013 / 05:38

3 respostas

4

No Vagrantfile, dê a cada uma das máquinas um endereço privado estático.

Vagrant.configure(2) do |config|
    config.vm.define "master" do |master|    
        master.vm.box = "ubuntu/trusty64"
        # You may wish to use a more obscure private ip, like 10.2.2.4
        master.vm.network "private_network", ip: "10.0.0.200"
    end
    config.vm.define "slave" do |slave|    
        slave.vm.box = "ubuntu/trusty64"
        # You may wish to use a more obscure private ip, like 10.2.2.5
        slave.vm.network "private_network", ip: "10.0.0.201"
    end
End

Com essas duas máquinas inicializadas, você pode primeiro usar o ssh em uma única pelo nome

vagrant ssh master

E dentro desta sessão você pode fazer o ssh para outra máquina via ip da sua rede privada:

ssh 10.0.0.201

Quando for solicitado um usuário / senha, você pode autenticar como vagrant / vagrant ou ainda configurar um ssh para você mesmo.

Esta informação foi adaptada da seguinte postagem [1] :

  1. Vagrant Virtual Machine Cluster Jesse - jessnet 2014-04-22. Recuperado em 2015-02-26
por 26.02.2015 / 21:18
1

Se você configurá-los com uma interface em ponte, isso significa que todos pertencem à sua LAN padrão. Assim, você pode acessar facilmente uma VM de outra VM emitindo

 ssh myname@ip_of_vm_2

Você pode encontrar os IPs de suas máquinas diretamente de dentro de cada máquina ou usando uma ferramenta padrão como nmap , ou perguntando ao seu roteador a lista de clientes DHCP. Por fim, se você souber seus endereços IP, mas não seus nomes de BIOS, poderá usar o nmbd para associar um nome a um endereço IP:

 nmblookup -A IP_address

A propósito, essa facilidade de acesso (que coloca suas VMs no mesmo pé que suas unidades de rede) é uma das razões pelas quais eu sempre uso a interface em ponte.

    
por 08.11.2013 / 10:34
0

Acabei de consertar isso em uma configuração VM Vagrant complexa do multi CentOS (BoxCutter 6.9). Existem dois níveis para este problema, o meu problema foi 2:

  1. Obtenha sua configuração do Vagrant corretamente para que você tenha uma "private_network" e os endereços IP de todas as suas VMs estão na mesma sub-rede (estática ou DHCP): link

  2. Quando ssh'ing entre VMs se você receber este erro: %código% A mensagem de erro significa que nenhum dos métodos de autenticação conseguiu autenticar sua sessão e não há menção a uma opção de senha, portanto, a autenticação de senha provavelmente foi desativada. Para corrigir a edição [root@vm01 ~]# ssh root@vm02 Permission denied (publickey,gssapi-keyex,gssapi-with-mic). e verificar se você tem /etc/ssh/sshd_config e não está comentado ( PasswordAuthentication yes ), reinicie # se necessário: sshd (não desconectará nenhuma sessão porque é inteligente). / p>

por 10.07.2018 / 17:33