Cómo ssh entre un clúster de máquinas virtuales invitadas Vagrant

7

Tengo 3 máquinas virtuales Ubuntu 12.04 configuradas con redes en puente y configuración con Vagrant. Puedo acceder a todos ellos desde el host usando "vagabundo ssh", pero no puedo entender cómo me conecto de una máquina virtual invitada a otra.

IanSR
fuente

Respuestas:

5

En el archivo Vagrant, proporcione a cada una de las máquinas una dirección privada estática.

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

Con estas máquinas arrancadas, primero puede hacer ssh en una por nombre

vagrant ssh master

Y desde esta sesión, puede enviar ssh a otra máquina a través de su ip de red privada:

ssh 10.0.0.201

Cuando se le solicite un usuario / contraseña, puede autenticarse como vagrant/ vagranto configurar aún más un ssh para usted.


Esta información fue adaptada de la siguiente publicación [1] :

  1. Vasent Virtual Machine Cluster Jesse - jessesnet 22-04-2014. Consultado el 26/02/2015
ThorSummoner
fuente
1

Si los configuró con una interfaz en puente, significa que todos pertenecen a su LAN estándar. Por lo tanto, puede acceder fácilmente a una VM desde otra VM emitiendo

 ssh myname@ip_of_vm_2

Puede encontrar las IP de sus máquinas directamente desde el interior de cada máquina, o utilizando una herramienta estándar como nmap, o preguntando a su enrutador la lista de clientes DHCP. Por último, si conoce sus direcciones IP pero no sus nombres de BIOS, puede usar nmbd para asociar un nombre a una dirección IP:

 nmblookup -A IP_address

Por cierto, esta facilidad de acceso (que establece sus máquinas virtuales en el mismo pie que sus PC LAN) es una de las razones por las que siempre uso la interfaz puenteada.

MariusMatutiae
fuente
Gracias. Creo que la complicación proviene del hecho de que estoy tratando de conectar usando mi interfaz inalámbrica, y los adaptadores wifi (generalmente? Siempre?) No pueden ponerse en modo promiscuo para recoger paquetes para otras direcciones. ¿Es esa una posible razón por la que esto no funciona?
IanSR
No, no es verdad La configuración en puente en wlan0 funciona perfectamente, acabo de probarlo con VirtualBox, tengo tres máquinas virtuales todas perfectamente conectadas.
MariusMatutiae
1

Acabo de arreglar esto en una compleja configuración de VM Vagrant de CentOS múltiple (BoxCutter 6.9). Hay dos niveles para este problema, mi problema era 2:

  1. Obtenga su configuración Vagrant correctamente para que tenga una "red privada" y las direcciones IP de todas sus máquinas virtuales estén en la misma subred (estática o DHCP): https://www.vagrantup.com/docs/networking/private_network.html

  2. Al hacer ssh'ing entre máquinas virtuales si obtiene este error: [root@vm01 ~]# ssh root@vm02 Permission denied (publickey,gssapi-keyex,gssapi-with-mic). el mensaje de error significa que ninguno de los métodos de autenticación logró autenticar su sesión, y no se menciona una opción de contraseña, por lo que la autenticación de contraseña probablemente se haya deshabilitado. Para corregir la edición /etc/ssh/sshd_configy comprobar que tiene PasswordAuthentication yesy no está comentado ( #), reinicie sshdsi es necesario: service sshd restart(no desconectará ninguna sesión porque es inteligente).

Oliver Dungey
fuente