Respuestas:
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
/ vagrant
o configurar aún más un ssh para usted.
Esta información fue adaptada de la siguiente publicación [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.
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:
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
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_config
y comprobar que tiene PasswordAuthentication yes
y no está comentado ( #
), reinicie sshd
si es necesario: service sshd restart
(no desconectará ninguna sesión porque es inteligente).