Error de autenticación ssh vagabundo


147

El problema con la autenticación ssh:

==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: bridged
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...

Puedo Ctrl+Csalir del bucle de autenticación y luego ssh con éxito manualmente.

Realicé los siguientes pasos en el cuadro de invitado:

  • Habilitado Remote Loginpara All Users.

  • Creó el ~/.sshdirectorio con 0700permisos.

  • Creó el ~/.ssh/authorized_keysarchivo con 0600permisos.

  • Pegó esta clave pública en~/.ssh/authorized_keys

También intenté usar una red privada (solo host) en lugar de la red pública (puenteada), usando esta línea en el archivo Vagrant:

config.vm.network "private_network", ip: "172.16.177.7"

Obtengo la misma salida (excepto Adapter 2: hostonly) pero luego no puedo ingresar ssh manualmente.

También lo intenté config.vm.network "private_network", ip: "10.0.0.100".

También intenté configurar config.ssh.passworden el Vagrantfile. Esto genera salida SSH auth method: passwordpero aún no se autentica.

Y también intenté reconstruir la caja y volver a verificar todo lo anterior.

Parece que otros han tenido éxito con esta configuración , por lo que debe haber algo que estoy haciendo mal.

Me encontré con este hilo y permitido a la interfaz gráfica de usuario, pero eso no ayuda.

Respuestas:


1

Asegúrese de que su primera interfaz de red sea NAT. La otra segunda interfaz de red puede ser lo que quieras cuando construyes box. No olvides al usuario de Vagrant, como se discutió en el hilo de Google.

Buena suerte.


172

Para información general: de forma predeterminada a ssh-connect, simplemente puede usar

usuario: vagrantcontraseña:vagrant

https://www.vagrantup.com/docs/boxes/base.html#quot-vagrant-quot-user

Primero, intente: ver qué vagabundo insecure_private_keyhay en la configuración de su máquina

$ vagrant ssh-config

Ejemplo:

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

http://docs.vagrantup.com/v2/cli/ssh_config.html

En segundo lugar, hacer: cambiar el contenido del archivo insecure_private_keycon el contenido de la clave privada de su sistema

O use: Agréguelo al Vagrantfile:

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = "~/.ssh/id_rsa"
  config.ssh.forward_agent = true
end
  1. config.ssh.private_key_path es tu clave privada local
  2. Su clave privada debe estar disponible para el agente ssh local. Puedes consultar con ssh-add -L. Si no está en la lista, agréguelo conssh-add ~/.ssh/id_rsa
  3. No olvide agregar su clave pública ~/.ssh/authorized_keysen la máquina virtual de Vagrant. Puede hacerlo copiando y pegando o usando una herramienta como ssh-copy-id (usuario: rootcontraseña: vagrantpuerto: 2222)ssh-copy-id '-p 2222 root@127.0.0.1'

Si todavía no funciona, intente esto:

  1. Eliminar insecure_private_keyarchivo dec:\Users\USERNAME\.vagrant.d\insecure_private_key

  2. Ejecutar vagrant up(vagabundo generará un nuevo insecure_private_keyarchivo)

En otros casos, es útil configurar forward_agent en Vagrantfile :

Vagrant::Config.run do |config|
   config.ssh.forward_agent = true
end

Útil:

La configuración de git puede ser con git-scm.com

Después de configurar este programa y crear la clave privada del sistema personal estará en la ruta de su perfil:c:\users\USERNAME\.ssh\id_rsa.pub

PD: Finalmente, te sugiero que mires Ubuntu en Windows 10


44
en mi caso fue un problema debido a que config.ssh.private_key_path = "~/.ssh/id_rsa"tuve que eliminar esta línea para que el aprovisionamiento funcionara
holms

Todo esto funcionó, pero también tuve que eliminar mi entrada en hosts conocidos. Estaba teniendo problemas al mover ubicaciones e iniciar sesión.
Pumphouse

@shilovk +1 Gracias, gracias, muchas gracias. El "segundo, hacer" hizo el truco. De nuevo, muchas gracias hombre.
whitesiroi

Este me señaló en la dirección correcta, en mi caso, todo lo que tuve que hacer fue eliminar el archivo .vagrant / machines / default / virtualbox / private_key y, después de ejecutar vagrant up, reemplazó el archivo con el correcto. presentar por si acaso
andrux

El primer y más importante paso es verificar la configuración de su BIOS, asegúrese de que la virtualización esté habilitada.
Bahman. A

83

Nada de lo anterior funcionó para mí. De alguna manera, el cuadro tenía la clave pública incorrecta agregada en el archivo vagabundo authorised_keys del usuario .

Si aún puede ssh en el cuadro con la contraseña vagabunda (la contraseña es vagabunda), es decir

ssh vagrant@localhost -p 2222

luego copie el contenido de la clave pública de https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub al archivo authorised_keys con el siguiente comando

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > .ssh/authorized_keys

Cuando termine, salga de la VM e intente sgra vagrant nuevamente. Debería funcionar ahora.


44
ejecutar vagrant reloaddespués de actualizar el archivo autorizado_claves. Vagrant detectará automáticamente la clave insegura y la volverá a generar por usted. Debería funcionar después.
ProfileTwist

47

Si experimenta este problema en vagabundo 1.8.5, consulte este hilo en github:

https://github.com/mitchellh/vagrant/issues/7610

Es causado básicamente por un problema de permiso, la solución es solo

vagrant ssh 
password: vagrant 
chmod 0600 ~/.ssh/authorized_keys
exit

luego

vagrant reload 

FYI: este problema solo afecta a CentOS, Ubuntu funciona bien.


Digamos que tengo 5 máquinas para un archivo vagabundo. Cada vez que vuelvo a ejecutar tengo que hacerlo para cada máquina. ¿Arreglo esto permanentemente para una configuración vagabunda dada usando centos?
Pol

Solo tenía que actualizar vagabundo a la versión 1.8.6 para tener 1.8.5 donde el error existía
Pol

42

Ejecute los siguientes comandos en la máquina invitada / VM:

wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R vagrant:vagrant ~/.ssh

Entonces detente vagabundo. Esto eliminará y regenerará sus claves privadas.

(Estos pasos suponen que ya ha creado o que ya tiene los directorios ~ / .ssh / y ~ / .ssh / Authorised_keys en su carpeta de inicio).


26

En mi experiencia, este ha sido un problema sorprendentemente frecuente con las nuevas máquinas vagabundas. Con mucho, la forma más fácil de resolverlo, en lugar de alterar la configuración en sí, ha sido crear las claves ssh requeridas manualmente en el cliente, y luego usar la clave privada en el host.

  1. Inicie sesión en la máquina vagabunda: vagrant sshuse la contraseña predeterminada vagrant.
  2. Crear claves ssh: por ejemplo, ssh-keygen -t rsa -b 4096 -C "vagrant"( como lo aconseja la guía relevante de GitHub ).
  3. Cambie el nombre del archivo de clave pública (por id_rsa.pub por defecto), anulando la anterior: mv .ssh/id_rsa.pub .ssh/authorized_keys.
  4. Servicio de recarga ssh en caso necesario: sudo service ssh reload.
  5. Copie el archivo de clave privada (por defecto id_rsa) en la máquina host: por ejemplo, use una combinación fina de cat y portapapeles cat .ssh/id_rsa, pinte y copie (deben existir mejores formas, ¡invente una!).
  6. Salir de la máquina vagabundo: logout.
  7. Encuentre la clave privada actual utilizada por vagabundo mirando su configuración: vagrant ssh-config(busque por ejemplo ÌdentityFile "/[...font>/private_key".
  8. Reemplace la clave privada actual con la que creó en la máquina host: por ejemplo, nano /[...]/private_keyy péguela desde el portapapeles, si todo lo demás falla. ( Tenga en cuenta , sin embargo, que si su private_key no es específica del proyecto, sino que es compartida por varias máquinas vagabundas, ¡es mejor que configure la ruta usted mismo para no romper otras máquinas que funcionan perfectamente! ¡Cambiar la ruta es tan simple como agregar una línea config.ssh.private_key_path = "path/to/private_key"al Vagrantfile. ) Además, si está utilizando la máquina generada por PuPHPet , puede almacenar su clave privada en el archivo puphpet/files/dot/ssh/id_rsay se agregará automáticamente a la configuración ssh de Vagrantfile.
  9. Pruebe la configuración: vagrant sshahora debería funcionar.

Si ese fuera el caso, felicítese logout, corra vagrant provisionsi es necesario y continúe con la tarea significativa que tiene entre manos.

Si aún enfrenta problemas, puede ser útil agregar un indicador detallado al comando ssh para facilitar la depuración. Puede pasar eso (o cualquier otra opción, para el caso) después del doble guión. Por ejemplo, escribiendo vagrant ssh -- -v. Siéntase libre de agregar tantos v como necesite, cada uno le dará más información.


Esta respuesta me ayudó. Solo para compartir mi experiencia: de alguna manera (posiblemente durante la instalación de Capistrano pero eso no está confirmado) mi archivo autorizado_clave había sido eliminado en mi máquina virtual invitada. La recreación con estos pasos funcionó y ahora puedo ingresar sin solicitud de contraseña. Gracias.
Martin Joiner

Después de eliminar ambas claves (pública / privada) de la máquina host, pude rehacer y resolver con este proceso
vrwired

Usar Git agiliza la transferencia de ese contenido de archivo.
lloan

1
este me funcionó después de todo lo que había intentado, falló ... ¡muchas gracias!
nikolas

Esto funcionó para mí. Lo único que hice diferente fue usar ssh vagrant@10.0.0.0 -p 22 (password: vagrant)para iniciar sesión en VM, ya que vagrant sshno me funcionaba. 10.0.0.0es la dirección IP privada que configuré en mi vagrantfile.
turrican_34

11

Esto también puede suceder si está intentando forzar a su VM a usar un usuario raíz de forma predeterminada para SSH ...

Por ejemplo, una configuración como esta en su Vagrantfile puede causar este error:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

Solución: ¡Comente esas líneas e intente nuevamente!


2
para mí, solo configurar config.ssh.username = "vagrant" y config.ssh.password = "vagrant" hizo el truco
psychok7

8

Problema Estaba recibiendo los errores de autenticación ssh, en una caja que aprovisioné. El original funcionaba bien.

El problema para mí fue que me faltaba una clave privada .vagrant/machines/default/virtualbox/private_key. Copié la clave privada de la misma ubicación relativa de la caja original y Viola!


Añadiría que, como cualquier buen desarrollador, estamos registrando los .vagrantarchivos en git ... y, como tal, ¡un git checkoutarchivo rápido salva el día!
Ian Vaughan

8

He encontrado una manera de evitar el desastre con las teclas en Win 8.2, donde no tuve éxito con ninguno de los métodos mencionados aquí. Puede ser interesante que exactamente la misma combinación de VirtualBox, Vagrant y la caja se ejecute en Win 7 Ultimate sin ningún problema.

Cambié a la autenticación de contraseña agregando los siguientes comandos en Vagrantfile:

config.ssh.password = "vagrant"
config.ssh.insert_key = false

Tenga en cuenta que no estoy seguro de que estos sean los únicos cambios necesarios porque ya lo hice:

  1. Generé un nuevo par de claves RSA y cambié el archivo autorizado de claves en consecuencia (todo en la máquina virtual, vea las sugerencias anteriores y en otro lugar)

  2. Copié la clave privada en el mismo directorio donde reside Vagrantfile y agregué

     config.ssh.private_key_path = "./id_rsa"
    

Pero creo que estos cambios fueron irrelevantes. Pasé mucho tiempo intentándolo, así que no cambié la configuración de trabajo por razones obvias :)


5

¿No puede ejecutar vagabundo porque se atasca y se agota el tiempo de espera?

Recientemente tuve un "incidente de agua en la computadora portátil" y tuve que migrar a uno nuevo (por cierto, en un MAC).

Logré poner en marcha todos mis proyectos con éxito junto al que estaba usando vagabundo.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 8000 (guest) => 8877 (host) (adapter 1)
    default: 8001 (guest) => 8878 (host) (adapter 1)
    default: 8080 (guest) => 7777 (host) (adapter 1)
    default: 5432 (guest) => 2345 (host) (adapter 1)
    default: 5000 (guest) => 8855 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

No pudo autenticarse, volvió a intentarlo una y otra vez y finalmente se rindió.

** Así es como lo recuperé en 3 pasos: **

1 - Encuentra el IdentityFile utilizado por vagrant: $ vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/ned/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

2 - Verifique la clave pública en el IdentityFile: $ ssh-keygen -y -f /Users/<user-name>/.vagrant.d/insecure_private_key Reemplace '<user-name>'con su usuario. Se verá más o menos así:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==

3 - Inicie sesión en la máquina vagabundo con la contraseña "vagabundo": $ ssh -p 2222 -o UserKnownHostsFile=/dev/null vagrant@127.0.0.1

The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is dc:48:73:c3:18:e4:9d:34:a2:7d:4b:20:6a:e7:3d:3e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
vagrant@127.0.0.1's password: vagrant
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
...

4 - Agregue la clave pública al archivo autorizado_claves. PSecho "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys ssh-rsa

5 - Salga (crtl + d) y detenga el contenedor vagabundo y vuelva a subirlo. $ vagrant halt $vagrant up

Espero que ahora tengas los brazos en el aire ...

Obtuve esto, con solo una pequeña modificación, del artículo de Ned Batchelders : ¡Ned, eres un campeón!


Usted señor es un genio, o Ned Batchelders lo es. De cualquier manera, ¡solucionó mi problema!
Adsy2010

4

para mí, esto se resolvió cambiando los permisos en la carpeta .ssh en el directorio de inicio vagabundo (es decir, "~ vagrant / .ssh"). Creo que estropeé los permisos cuando estaba configurando las claves ssh para mi aplicación.

Parece que el archivo 'autorizado_keys' debe ser 'rw' solo para el usuario 'vagabundo', por lo que "chmod 600 certified_keys"; Lo mismo ocurre con el directorio en sí y su padre:

entonces:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

Fue solo después de restaurar todos estos permisos que ssh vagabundo comenzó a funcionar nuevamente.

Creo que tiene algo que ver con la seguridad ssh. Se niega a reconocer los certificados si son accesibles de alguna manera más allá del usuario actual, por lo que los intentos vagos de iniciar sesión son rechazados.


A veces no puedo cambiar, solo ejecuto sudo chmod 600 certified_keys pero aún así permanece sin cambios. Creo que esto tiene algo que ver, también se comparte en Windows.
Darius.V

A veces esto sucede si el directorio está en un recurso compartido, por ejemplo/vagrant/...
robert

1
Además de mi respuesta, me gustaría votar por esta respuesta. En otra máquina mía era exactamente este problema: el propietario equivocado del directorio /home/vagrant/.ssh. Era "root: root" pero debe ser "vagabundo: vagabundo"
Michael

4

Si está utilizando la configuración SSH predeterminada en su VagrantFile y comenzó a ver errores de autenticación SSH después de volver a asociar su caja VM debido a un bloqueo, intente reemplazar la clave pública en su máquina vagabunda.

Vagrant reemplaza la clave pública asociada con un par de claves privadas inseguras en cada cierre de sesión debido a razones de seguridad. Si no apagó correctamente su máquina, el par de claves pública / privada puede no sincronizarse, causando un error de autenticación SSH.

Para resolver este problema, simplemente cargue la clave privada insegura actual y luego copie el par de claves públicas en el archivo autorizado de claves de su VM.


3

Esta podría ser la última respuesta en la lista, pero esto funcionó para mí y no encontré esta respuesta en ninguna parte, la encontré yo mismo después de 2 días de investigaciones, así que es mejor que intentes esto si nada más funcionó para ti hasta ahora.

En mi caso, el problema vino de mi VirtualBox. No sé por qué razón se deshabilitó una opción y debería haberse habilitado.

ingrese la descripción de la imagen aquí

Como puede ver en la imagen, hubo algunos problemas de red con mi VirtualBox y lo que tuve que hacer para solucionar este problema fue seleccionar mi máquina, presionar la configuración, la pestaña de red y luego asegurarme de que la opción Cable conectado fue seleccionado. En mi caso, esta opción no estaba seleccionada y fallé en este paso:

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key

Primero pensé que el puerto ya estaba en uso, luego reinstalé Vagrant y también probé otras cosas, pero ninguna funcionó para mí.


3

Esto me ha sucedido varias veces y la forma en que lo resolví fue:

  1. Verifique y asegúrese de que su Vagrantfile tenga la ruta de clave privada correcta:

    config.ssh.private_key_path = "/home/razvan/.ssh/id_rsa"

  2. Ejecutar> comando sgra vagrant en una terminal de Linux

  3. En su máquina vagabunda vaya a

    cd /home/vagrant/.ssh

y verifique si la clave ssh en el archivo Authorized_keys es la misma que tiene en su máquina local en ~ / .ssh / id_rsa.pub. Si no, reemplace el de su vagant autorizado_claves con el de su máquina local que se encuentra en ~ / .ssh / id_rsa.pub.

  1. Recargar Vagabundo:

    recarga vagabunda

Espero que esto ayude a alguien más. ¡Salud!


No tengo la carpeta ~ / .ssh, ¿qué debo hacer?
Ashish Karpe

@AshishKarpe crearlo con 700 permisos y crear un authorized_keysarchivo con 600 permisos en su interior
hogan

3

1. Localice la clave privada en el host:

vagrant ssh-config
#

Salida:

Host default
  ...
  Port 2222
  ...
  IdentityFile /home/me/.vagrant.d/[...]/virtualbox/vagrant_private_key
  ...

2. Almacene la ruta de la clave privada y el número de puerto en variables:

Use estos dos comandos con la salida de arriba:

pk="/home/me/.vagrant.d/.../virtualbox/vagrant_private_key"
port=2222
#

3. Genere una clave pública y cárguela en la máquina invitada:

Copiar / pasta, no se necesitan cambios:

ssh-keygen -y -f $pk > authorized_keys
scp -P $port authorized_keys vagrant@localhost:~/.ssh/
vagrant ssh -c "chmod 600 ~/.ssh/authorized_keys"
rm authorized_keys
#

1
Tuve el problema descrito muchas veces, generalmente después de empacar y luego restaurar la caja Vagrant. Lo que funcionó para mí es agregar la siguiente configuración para indicarle a Vagrant que inserte su clave pública en la VM: config.ssh.username = "vagrant"; config.ssh.password = "vagrant"; config.ssh.insert_key = truePero esta vez la configuración anterior no hizo nada. Realmente no sé por qué, traté de depurar por qué la clave no se inserta sin suerte. Así que recurrí a su solución y listo! ¡Funciona!
stz184

2

Solución Mac:

  1. Se agregó la clave local ssh id_rsa a la clave privada vagabunda

    vi /Users//.vagrant/machines/default/virtualbox/private_key

    /Users//.ssh/id_rsa

  2. copia de la clave pública /Users//.ssh/id_rsa.pub en el vagabundo caja_autorizada

ssh vagrant@localhost -p 2222 (contraseña: vagabundo) ls -la cd .ssh

  1. chmod 0600 ~/.ssh/authorized_keys

  2. vagrant reload

Problema resuelto.

Gracias a


1

tampoco pudo ir más allá:

predeterminado: método de autenticación SSH: clave privada

Cuando utilicé la GUI de VirtualBox, me dijo que había un desajuste del procesador del sistema operativo.

Para que el vagabundo progresara aún más, en la configuración del BIOS tuve que contraintuitivamente:

Deshabilitar: virtualización

Habilitar: VT-X

Intente alternar esta configuración en su BIOS.


1

En primer lugar, debe eliminar el archivo insecure_private_key autogenerado, luego regenerar este archivo escribiendo

vagrant ssh-config

luego

vagrant halt
vagrant up

Deberia de funcionar


Intenté esto pero aún obtengo el error ¿es esto porque estoy usando Ubuntu Virtual Box VM dentro de lo que estoy intentando vagabundo?
Ashish Karpe

#vagrant Up Trayendo la máquina 'default' con el proveedor 'virtualbox' ... ==> default: Borrando cualquier puerto reenviado previamente establecido ... ==> default: Borrando cualquier interfaz de red previamente establecida ... ==> default: Preparando interfaces de red basadas en la configuración ... predeterminado: Adaptador 1: nat ==> predeterminado: Reenvío de puertos ... predeterminado: 22 (invitado) => 2222 (host) (adaptador 1) ==> predeterminado: Arrancando VM ... . ==> predeterminado: esperando que la máquina arranque. Esto puede tardar unos minutos ... predeterminado: dirección SSH: 127.0.0.1:2222 predeterminado: nombre de usuario SSH: vagabundo predeterminado: método de autenticación SSH: clave privada
Ashish Karpe

1

Resolví el problema de la siguiente manera. 1. Cree una nueva clave SSH usando Git Bash

$ ssh-keygen -t rsa -b 4096 -C "vagrant@localhost"
# Creates a new ssh key, using the provided email as a label
Generating public/private rsa key pair.
  1. Cuando se le solicite "Ingresar un archivo en el que guardar la clave", presione Entrar. Esto acepta la ubicación predeterminada del archivo.

    Ingrese un archivo en el cual guardar la clave (/Users/[youfont>/.ssh/id_rsa): [Presione enter]

  2. En el indicador, escriba una frase de contraseña segura. Puede dejarlo vacío y presionar enter si no necesita una frase de contraseña.

    Ingrese un archivo en el cual guardar la clave (/Users/[youfont>/.ssh/id_rsa): [Presione enter]

  3. Para conectarse a su máquina virtual Vagrant, escriba el siguiente comando

    ssh vagabundo @ localhost -p 2222

Cuando reciba el siguiente mensaje, escriba "sí" y presione Intro.

The authenticity of host 'github.com (192.30.252.1)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
  1. Ahora para establecer un tipo de conexión SSH: $ vagrant ssh

  2. Copie la clave pública del host en el archivo Authorized_keys en Vagrant VM. Para eso, vaya a la carpeta "Usuarios / [usted] /. Ssh" y copie el contenido en el archivo id_rsa.pub en la máquina host y péguelo en el archivo "~ / .ssh / Authorized_keys" en Vagrant VM.

  3. Cambiar el permiso en la carpeta SSH y el archivoautorized_keys en Vagrant VM
  4. Reiniciar vagabundo con: $ vagabundo recarga

0

He iniciado la máquina, entonces:

vagrant ssh-config

He conseguido lo siguiente:

Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa IdentityFile /Users/my-user-name/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL

Entonces corrí

cat ~/.ssh/id_rsa > /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa

Máquina arrancada de aquí en adelante

  • El Capitan 10.11.1 Beta (15B38b)
  • Virtual Box 5.0.8 r103449
  • Vagabundo 1.7.4

0

Entre todas las respuestas aquí, hay muchas cosas buenas para probar. Para completar, si usted

ssh vagrant@localhost -p 2222

como sugiere @Bizmate, y falla, asegúrese de tener

AllowUsers vagrant

en la /etc/ssh/sshd_configmáquina de tu invitado / vagabundo.


0

Estoy usando Vagrant con una configuración de Puphpet desde mayo de 2015 y tuve este problema. Parece que la configuración que se generó no manejó el comportamiento de Vagrant 1.7.4 (¿o quizás un poco antes?) De regenerar claves ssh si detecta una clave insegura.

Lo resolví agregando lo siguiente en mi Puphpet generado Vagrantfile (configuración local) dentro de la cláusula "if File.file? (CustomKey)":

config.ssh.insert_key = false

Compromiso de referencia


0

Estos son los pasos correctos que seguí para solucionar este problema que se produjo a continuación cuando se ejecutó el comando vagabundo.

Estos son los pasos que seguí

  1. crear una carpeta por ejemplo, F: \ proyectos
  2. Abra esta carpeta en git bash y ejecute este comando ssh-keygen -t rsa -b 4096 -C "your_email@example.com" (ingrese una dirección de correo electrónico válida)
  3. Luego, genere un par de claves en dos archivos separados en la carpeta del proyecto. por ejemplo, proyecto (archivo de clave privada), proyecto.pub (archivo de clave pública)
  4. Vaya a esta ubicación C: \ Users \ acer.vagrant.d y busque el archivo insecure_private_key
  5. Obtenga una copia de seguridad del archivo y copie el contenido de la clave privada recién creada y péguelo en el archivo insecure_private_key. Luego copie insecure_private_key y péguelo también en esta ubicación.
  6. Ahora vagabundo en la ubicación de su proyecto. después de generar el problema anterior, escriba vagabundo ssh e ingrese dando nombre de usuario, contraseña. (en nombre de usuario y contraseña predeterminados se establece como vagabundo)
  7. Ingrese a esta ubicación cd /home/vagrant/.ssh y escriba mv shown_keys autorizado_keys_bk
  8. Luego, escriba ls -al y escriba vi Authorized_keys para abrir el archivo autorizado de key_keys vi editor.
  9. Abra la clave pública generada desde notepad ++ (project.pub) y copie el contenido Luego presione i en git bash para habilitar el modo de inserción en el editor vi y haga clic derecho y pegue. Después de presionar escape para salir del modo de inserción
  10. : wq! para guardar el archivo y escriba ls -al
  11. Luego, los permisos se establecen como a continuación, no es necesario cambiar drwx ------. 2 vagabundo vagabundo 4096 13 de febrero 15:33. drwx ------. 4 vagabundo vagabundo 4096 13 de febrero 14:04 .. -rw -------. 1 vagabundo vagabundo 743 13 de febrero 14:26 autorizado_keys -rw -------. 1 raíz raíz 409 13 de febrero 13:57 Author_keys_bk -rw -------. 1 vagabundo vagabundo 409 2 de enero 23:09 Author_keys_originial De lo contrario, escriba chmod 600 certified_keys y escriba este comando también chown vagrant: vagrant authorised_keys
  12. Finalmente ejecute el alto y el vagabundo de nuevo.

************************ ESTO ES TRABAJO FINO PARA MÍ ******************** ***********


0

Solo para aquellas personas que han sido idiotas como yo, o que les ha pasado algo extraño a su máquina vagabunda. Este error también puede ocurrir cuando cambia los permisos del directorio de inicio del usuario vagabundo (deliberadamente o por accidente).

En su lugar, puede iniciar sesión (como se describe en otras publicaciones) utilizando la contraseña ('vagabundo') y luego ejecutar el siguiente comando para corregir los permisos.

sudo chown -R vagrant:vagrant /home/vagrant

Entonces debería poder iniciar sesión nuevamente sin ingresar la contraseña.

TL; DR: los permisos en su carpeta de inicio vagabundo son incorrectos.


0

Sencillo:

homestead destroy
homestead up

Editar (no es tan simple como se pensó primero):

El problema era que las nuevas versiones del uso de la granja php7.0y algunas otras cosas. Para evitar este lío, asegúrese de configurarlo verisonen Homestead.yml:

version: "0"

0

Resolví este problema ejecutando comandos en Windows 7 CMD, ya que aquí se encuentra el último enlace del enlace en este hilo,

https://github.com/mitchellh/vagrant/issues/6744

Some commands that will reinitialize various network states:
Reset WINSOCK entries to installation defaults : netsh winsock reset catalog
Reset TCP/IP stack to installation defaults : netsh int ip reset reset.log
Flush DNS resolver cache : ipconfig /flushdns
Renew DNS client registration and refresh DHCP leases : ipconfig /registerdns
Flush routing table : route /f

0

He estado golpeándome la cabeza en esto durante los últimos días en una caja base reempaquetada. (Mac OS X, El Capitan)

Siguiendo el procedimiento de @Radek hice 'vagrant ssh-config' en el cuadro de origen y obtuve:

...
/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key
...

En la nueva copia, ese comando me dio:

...
IdentityFile /Users/<username>/.vagrant.d/insecure_private_key
...

Entonces, acabo de agregar esta línea en la nueva copia:

...
config.ssh.private_key_path = "/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key"
...

No es perfecto, pero puedo seguir con mi vida.


0

Otra solución simple, en Windows, vaya al archivo Homestead / Vagrantfile y agregue estas líneas para conectarse con un nombre de usuario / contraseña en lugar de una clave privada:

config.ssh.username = "vagrant"  
config.ssh.password = "vagrant"  
config.ssh.insert_key = false 

Entonces, finalmente, parte del archivo se verá así:

if File.exists? homesteadYamlPath then
    settings = YAML::load(File.read(homesteadYamlPath))
elsif File.exists? homesteadJsonPath then
    settings = JSON.parse(File.read(homesteadJsonPath))
end

config.ssh.username = "vagrant"  
config.ssh.password = "vagrant"  
config.ssh.insert_key = false 

Homestead.configure(config, settings)

if File.exists? afterScriptPath then
    config.vm.provision "shell", path: afterScriptPath, privileged: false
end

Espero que esto ayude ..


0

Probé esto en mi máquina VM

cambiar los permisos / home / vagrant (hizo un chmod 700 en él)

ahora puedo enviar directamente a mis cajas

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.