Máquina local vagabunda instalada en la dirección IP 10.0.0.23
con nombre de host lamp-vm
.
Usando el vagrant ssh
comando, puedo conectarme bien y hacer todo lo que necesito.
Esto crea un error.
$ ssh vagabundo @ lamp-vm -v -v
debug1: conectarse a la dirección 10.0.0.23 puerto 22: se agotó el tiempo de espera de la conexión
ssh: conectarse al host lamp-vm puerto 22: se agotó el tiempo de espera de la conexión
Mi /etc/hosts
archivo contiene 10.0.0.23 lamp-vm
.
Mi archivo .ssh / config se ve así
Host lamp-vm
Usuario
vagrant IdentityFile ~ / .ssh / vagrant
He intentado el comando ssh con y sin el -i /path/to/.sh/identity_file
también.
¿Cómo me conecto a mi máquina virtual Vagrant usando SSH?
ssh -p 2222 vagrant@localhost
) no se verá afectada por esto.Es viejo pero como no hay respuesta, le daré una. Mando:
Es el equivalente de
Este es el comportamiento predeterminado, si cambiaste algo, cambia el comando apropiadamente. En primer lugar, Vagrant creará un usuario vagabundo en su casilla de invitado, y utilizará ese usuario para ssh. Como dijeron las personas anteriores, reenviará el tráfico desde el puerto 2222 en su host al puerto 22 en su invitado, de forma predeterminada (cuando usa vagabundo, ve que se muestra ese mensaje). Y, por último, Vagrant crea claves para la sesión ssh para que no tenga que hacerlo, por lo que debe proporcionar una clave pública como argumento cuando se conecta a través de ssh.
fuente
Este comportamiento es por diseño.
Vagrant usa el modo NAT de VirtualBox, lo que significa usar el reenvío de puertos.
No puede SSH directamente a su VM usando el modo NAT.
El uso de 'vagrant ssh' significa que vagrant hará el reenvío de puertos por usted para que no tenga que preocuparse por eso. Creo que se conectará a localhost en el puerto 2222 de forma predeterminada, pero también intentará resolver cualquier colisión de números de puerto.
Si necesita SSH directamente a su VM, cambie la VM al modo de red solo de host o puenteado.
fuente
Hubiera agregado esto como un comentario, pero actualmente no tengo suficiente representante para hacerlo. He escrito un tutorial para configurar su VM en modo puente aquí:
/ubuntu/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909
¡Espero que encuentres esto útil!
fuente
Windows / Vagrant / Ubuntu
Esto es lo que funcionó para mí y puede averiguar rápidamente si funcionará ejecutando esto en el cliente ssh.
ssh [email protected] -p 2222 -v
-V lo pondrá en modo detallado y mostrará información de depuración ...
Entonces ... SSH2_MSG_KEXINIT significa que las claves se están intercambiando. Esto en breve falla ...
En este caso, eliminé mis claves y las volví a generar haciendo esto en la VM. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )
$ ls -al / etc / ssh / ssh key
$ sudo rm -r / etc / ssh / ssh key
$ sudo dpkg-reconfigure openssh-server
Una vez que mis llaves fueron regeneradas pude SSH en mi Vagrant Box.
fuente
Destruyó la máquina virtual.
Recargué la máquina virtual.
Todo funcionó
No estoy seguro de por qué, pero obviamente algo no se cargó correctamente en el primer aprovisionamiento.
fuente
Mira este comentario: https://github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674
Básicamente, incluso cuando se utiliza una red privada, vagabundo todavía hace ssh en 127.0.0.1. Pruebe ese comando ssh @ 127.0.0.1 en lugar de su ip / hostname privado.
fuente