web-dev-qa-db-fra.com

Échec de l'authentification SSH vagabonde

Le problème avec l'authentification 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...

Je peux Ctrl+C sortir de la boucle d'authentification puis ssh avec succès manuellement.

J'ai effectué les étapes suivantes sur la boîte d'invité:

  • Activé Remote Login pour All Users.

  • Création du répertoire ~/.ssh avec les autorisations 0700.

  • Création du fichier ~/.ssh/authorized_keys avec les autorisations 0600.

  • Collé cette clé publique dans ~/.ssh/authorized_keys

J'ai également essayé d'utiliser un réseau privé (hostonly) au lieu du réseau public (ponté), en utilisant cette ligne dans le fichier Vagrant:

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

Je reçois le même résultat (sauf Adapter 2: hostonly), mais je ne peux pas entrer SSH manuellement.

J'ai aussi essayé config.vm.network "private_network", ip: "10.0.0.100".

J'ai également essayé de définir config.ssh.password dans le fichier Vagrant. Ceci produit la sortie SSH auth method: password mais ne s’authentifie toujours pas.

Et j'ai aussi essayé de reconstruire la boîte et de revérifier tout ce qui précède.

Cela ressemble à d'autres ont eu du succès avec cette configuration , il doit donc y avoir quelque chose que je fais mal.

Je trouvé ce fil et activé l'interface graphique, mais cela n'aide pas.

140
ic3b3rg

Assurez-vous que votre première interface réseau est NAT. L'autre deuxième interface réseau peut être ce que vous voulez lorsque vous construisez une boîte. N'oubliez pas l'utilisateur Vagrant, comme indiqué dans le fil de discussion Google.

Bonne chance.

2
user3509054

Pour des informations générales: par défaut pour ssh-connect, vous pouvez simplement utiliser

utilisateur: vagrant mot de passe: vagrant

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

Premièrement, essayez: pour voir quel vagabond insecure_private_key se trouve dans la configuration de votre machine

$ vagrant ssh-config

Exemple:

$ 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

Deuxièmement, faites: Modifiez le contenu du fichier insecure_private_key avec le contenu de votre système personnel , clé privée

Ou utilisez: Ajoutez-le au fichier Vagrant:

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 est votre clé privée locale
  2. Votre clé privée doit être disponible pour l'agent ssh local. Vous pouvez vérifier avec ssh-add -L. S'il n'est pas répertorié, ajoutez-le avec ssh-add ~/.ssh/id_rsa
  3. N'oubliez pas d'ajouter votre clé publique à ~/.ssh/authorized_keys sur la machine virtuelle vagabonde. Vous pouvez le faire en copiant-collant ou en utilisant un outil tel que ssh-copy-id (utilisateur: root mot de passe: vagrant port: 2222) ssh-copy-id '-p 2222 [email protected]'

Si cela ne fonctionne toujours pas, essayez ceci:

  1. Supprimer le fichier insecure_private_key de c:\Users\USERNAME\.vagrant.d\insecure_private_key

  2. Exécuter vagrant up (vagrant sera générer un nouveau fichier insecure_private_key)

Dans d'autres cas, il est utile de définir forward_agent dans Vagrantfile:

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

Utile:

La configuration de git peut être avec git-scm.com

Après avoir configuré ce programme et créé le système personnel , la clé privée sera dans le chemin de votre profil: c:\users\USERNAME\.ssh\id_rsa.pub

PS: Enfin, suggérez de regarder buntu sous Windows 1

163
shilovk

Aucun de ce qui précède n'a fonctionné pour moi. D'une manière ou d'une autre, la boîte avait la mauvaise clé publique ajoutée dans le fichier utilisateur autorisé (== --- ==) .

Si vous pouvez toujours ssh sur la boîte avec le mot de passe vagrant (le mot de passe est vagabond), c.-à-d.

ssh vagrant@localhost -p 2222

puis copiez le contenu de la clé publique de https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub dans le fichier authorised_keys à l'aide de la commande suivante

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

Une fois terminé, quittez VM et essayez à nouveau ssh vagrant. Cela devrait fonctionner maintenant.

81
Bizmate

Si vous rencontrez ce problème sur vagrant 1.8.5, consultez ce fil sur github:

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

C'est essentiellement dû à un problème d'autorisation, la solution de contournement est simplement

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

ensuite

vagrant reload 

FYI: ce problème ne concerne que CentOS, Ubuntu fonctionne bien.

48
Lei Xu

Exécutez les commandes suivantes dans la machine invitée/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

Alors faites halte vagabonde. Cela supprimera et régénérera vos clés privées.

(Ces étapes supposent que vous avez déjà créé ou que vous disposez déjà des répertoires ~/.ssh/et ~/.ssh/registered_keys dans votre dossier personnel.)

41
Raja Ehtesham

D'après mon expérience, il s'agit d'un problème étonnamment fréquent avec les nouvelles machines vagabondes. Le moyen le plus simple de le résoudre, au lieu de modifier la configuration elle-même, a été de créer manuellement les clés ssh requises sur le client, puis d'utiliser la clé privée sur l'hôte.

  1. Connectez-vous à la machine vagabonde: vagrant ssh, utilisez le mot de passe par défaut vagrant.
  2. Créez des clés ssh: par exemple, ssh-keygen -t rsa -b 4096 -C "vagrant" ( comme conseillé par le guide pertinent de GitHub ).
  3. Renommez le fichier de clé publique (par défaut id_rsa.pub) en remplaçant l'ancien: mv .ssh/id_rsa.pub .ssh/authorized_keys.
  4. Rechargez le service ssh si nécessaire: Sudo service ssh reload.
  5. Copiez le fichier de clé privée (par défaut, id_rsa) sur la machine hôte: par exemple, utilisez une combinaison fine de cat et du presse-papiers, cat .ssh/id_rsa, Paint et copie (de meilleurs moyens doivent exister, allez en inventer un!).
  6. Déconnexion de la machine vagabonde: logout.
  7. Recherchez la clé privée actuelle utilisée par vagrant en consultant sa configuration: vagrant ssh-config (recherchez par exemple dentityFile "/[...]/private_key".
  8. Remplacez la clé privée actuelle par celle que vous avez créée sur la machine hôte: par exemple, nano /[...]/private_key et collez-la dans le Presse-papiers, si tout le reste échoue. ( Remarque , cependant, si votre clé privée n'est pas spécifique à un projet mais partagé par plusieurs machines vagabondes, vous feriez mieux de configurer le chemin vous-même afin de ne pas casser d’autres machines qui fonctionnent parfaitement! Le changement de chemin est aussi simple que d’ajouter une ligne config.ssh.private_key_path = "path/to/private_key" dans le fichier Vagrant. ) En outre, Si vous utilisez la machine générée PuPHPet , vous pouvez stocker votre clé privée dans le fichier puphpet/files/dot/ssh/id_rsa et elle sera automatiquement ajoutée à la configuration ssh de Vagrantfile.
  9. Testez la configuration: vagrant ssh devrait maintenant fonctionner.

Si tel est le cas, félicitez-vous, logout, exécutez vagrant provision si nécessaire et poursuivez la tâche qui vous attend.

Si vous rencontrez toujours des problèmes, il peut s'avérer utile d'ajouter un indicateur détaillé à la commande ssh pour faciliter le débogage. Vous pouvez passer cela (ou toute autre option, d'ailleurs) après le double tiret. Par exemple, tapez vagrant ssh -- -v. N'hésitez pas à ajouter autant de v que vous le souhaitez, chacun vous donnera plus d'informations.

19
sankari

Cela peut également se produire si vous essayez de forcer votre VM à utiliser un utilisateur root par défaut pour SSH ....

Par exemple, une configuration comme celle-ci dans votre Vagrantfile peut provoquer cet échec:

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

Solution: Commentez ces lignes et essayez à nouveau!

9
Brad Parks

Problème Je recevais les erreurs d'authentification ssh, sur une boîte que j'ai provisionnée. L'original fonctionnait bien.

Le problème pour moi était qu'il me manquait une clé privée dans .vagrant/machines/default/virtualbox/private_key. J'ai copié la clé privée du même emplacement relatif de la boîte d'origine et de Viola!

8
GP89

J'ai trouvé un moyen de contourner le désordre avec les clés sur Win 8.2 où je n'ai pas réussi avec l'une des méthodes mentionnées ici. Il peut être intéressant de noter que la même combinaison de VirtualBox, Vagrant et la boîte s’exécute sur Win 7 Ultimate sans aucun problème.

Je suis passé à l'authentification par mot de passe en ajoutant les commandes suivantes dans Vagrantfile:

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

Notez que je ne suis pas sûr qu'il s'agisse des seuls changements requis car je l'ai déjà fait:

  1. J'ai généré une nouvelle paire de clés RSA et modifié le fichier allowed_keys en conséquence (tous dans la machine virtuelle, voir les suggestions ci-dessus et ailleurs)

  2. J'ai copié la clé privée dans le même répertoire que Vagrantfile et ajouté

     config.ssh.private_key_path = "./id_rsa"
    

Mais je crois que ces changements étaient hors de propos. J'ai passé beaucoup de temps à essayer, je n'ai donc pas modifié la configuration de travail pour des raisons évidentes :)

6
Michael

Si vous utilisez la configuration SSH par défaut dans votre VagrantFile et avez commencé à voir des erreurs d'authentification SSH après la ré-association de votre boîte VM en raison d'un plantage, essayez de remplacer la clé publique dans votre ordinateur vagant.

Vagrant remplace la clé publique associée à une paire de clés privée non sécurisée à chaque déconnexion pour des raisons de sécurité. Si vous n'avez pas arrêté correctement votre ordinateur, la paire de clés publique/privée peut ne plus être synchronisée, ce qui entraînera une erreur d'authentification SSH.

Pour résoudre ce problème, chargez simplement la clé privée non sécurisée actuelle, puis copiez la paire de clés publiques dans le fichier registered_keys de votre machine virtuelle.

4
thk

pour moi, cela a été résolu en modifiant les autorisations sur le dossier .ssh dans le dossier de la maison vagabonde (c'est-à-dire "~ vagrant/.ssh"). Je pense que j'ai gâché les autorisations lorsque je configurais les clés SSH pour mon application.

Il semble que le fichier 'authorised_keys' doit être 'rw' uniquement pour l'utilisateur 'vagrant' donc "chmod 600 allowed_keys"; il en va de même pour le répertoire lui-même et son parent:

alors:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

Ce n’est qu’après avoir restauré toutes ces autorisations que ssh vagrant a commencé à fonctionner à nouveau.

Je pense que c'est quelque chose à voir avec la sécurité SSH. Il refuse de reconnaître les certificats si ceux-ci sont accessibles au-delà de l'utilisateur actuel. Les tentatives de connexion vagabondes sont donc rejetées.

4
robert

Cela pourrait être la dernière réponse de la liste mais cela a fonctionné pour moi et je ne l'ai pas trouvée nulle part, je l'ai trouvé moi-même après 2 jours de recherches, alors vous feriez mieux d'essayer ceci si rien d'autre ne fonctionnait pour vous jusqu'à maintenant.

Dans mon cas, le problème venait de ma VirtualBox. Je ne sais pas pour quelle raison une option a été désactivée et aurait dû être activée.

enter image description here

Comme vous pouvez le voir sur l'image, il y avait quelques problèmes de réseau avec ma VirtualBox et ce que je devais faire pour résoudre ce problème était de sélectionner ma machine, d'appuyer sur Paramètres, puis sur l'onglet Réseau et de s'assurer ensuite que l'option Câble connecté a été choisi. Dans mon cas, cette option n'a pas été sélectionnée et j'ai échoué à cette étape:

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

J'ai d'abord pensé que le port est déjà utilisé, après quoi j'ai réinstallé Vagrant et j'ai également essayé d'autres solutions, mais aucune d'entre elles n'a fonctionné pour moi.

3
paulalexandru

Cela m'est arrivé plusieurs fois et la façon dont j'ai résolu le problème était la suivante:

  1. Vérifiez et assurez-vous que votre Vagrantfile dispose du bon chemin de clé privée:

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

  2. Commande Exécuter> vagrant ssh dans un terminal linux

  3. Sur votre machine vagabonde, allez à

    cd /home/vagrant/.ssh

et vérifiez si la clé ssh du fichier allowed_keys est identique à celle que vous avez sur votre ordinateur local dans ~/.ssh/id_rsa.pub. Si ce n'est pas le cas, remplacez celui de votre vagabond registered_keys par celui de votre machine locale trouvé dans ~/.ssh/id_rsa.pub.

  1. Recharger le vagabond:

    rechargement de vagabond

J'espère que ceci aide quelqu'un d'autre. À votre santé!

3
Razvan

1. Localisez la clé privée dans l'hôte:

vagrant ssh-config
#

Sortie:

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

2. Stockez le chemin de la clé privée et le numéro de port dans des variables:

Utilisez ces deux commandes avec la sortie ci-dessus:

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

3. Générez une clé publique et téléchargez-la sur la machine invitée:

Copie/Pâtes, aucune modification nécessaire:

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
#
3
Nabil Kadimi

Solution Mac:

  1. Ajout de la clé ssh id_rsa locale à la clé privée vagabonde

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

    /Users//.ssh/id_rsa

  2. copie de la clé publique /Users//.ssh/id_rsa.pub sur la boîte de courrier vagabond autorise_keys

ssh vagrant@localhost -p 2222 (mot de passe: vagabond) ls -lacd .ssh

  1. chmod 0600 ~/.ssh/authorized_keys

  2. vagrant reload

Problème résolu.

Grâce à

2
Parag Lohiya

Impossible de courir vagabond car il se coince et expire?

J'ai récemment eu un "incident concernant l'eau dans un ordinateur portable" et j'ai dû migrer vers un nouveau (sur un MAC en passant).

J'ai réussi à lancer tous mes projets à côté de celui qui utilisait vagabond.

$ 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...

Il ne pouvait pas s'authentifier, réessayait et finissait par abandonner.

** Voici comment je l'ai remis en forme en 3 étapes: **

1 - Trouver le fichier d’identité utilisé par 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 - Vérifiez la clé publique dans IdentityFile: $ ssh-keygen -y -f /Users/<user-name>/.vagrant.d/insecure_private_key Remplacez '<user-name>' par votre utilisateur. Cela ressemblera à ceci:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==

3 - Connectez-vous à la machine vagabonde avec le mot de passe "vagrant": $ ssh -p 2222 -o UserKnownHostsFile=/dev/null [email protected]

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.
[email protected]'s password: vagrant
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
...

4 - Ajoutez la clé publique au fichier authorised_keys. $ echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys ssh-rsa

5 - Quittez (crtl + d) et arrêtez le conteneur du vagabond et ramenez-le. $ vagrant halt $ vagrant up

J'espère que vous aurez les bras en l'air maintenant ...

Ned Batchelders article - Ned, vous êtes un champion!

2
Anas

aussi ne pouvait pas aller au-delà:

valeur par défaut: méthode d'authentification SSH: clé privée

Lorsque j'ai utilisé l'interface graphique de VirtualBox, il m'a été signalé qu'il y avait une incompatibilité de processeur OS.

Pour continuer à progresser, dans les paramètres du BIOS, je devais contre-intuitivement:

Désactiver: virtualisation

Activer: VT-X

Essayez de basculer ces paramètres dans votre BIOS.

1
Onshop

J'ai résolu le problème de la manière suivante. 1. Créer une nouvelle clé SSH avec 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. Lorsque vous êtes invité à "Entrer un fichier dans lequel enregistrer la clé", appuyez sur Entrée. Ceci accepte l'emplacement de fichier par défaut.

    Entrez un fichier dans lequel enregistrer la clé (/Users/[vouson/.ssh/id_rsa): [Appuyez sur Entrée]

  2. À l'invite, tapez une phrase secrète sécurisée. Vous pouvez laisser vide et appuyer sur Entrée si vous n'avez pas besoin de phrase secrète.

    Entrez un fichier dans lequel enregistrer la clé (/Users/[vouson/.ssh/id_rsa): [Appuyez sur Entrée]

  3. Pour vous connecter à votre Vagrant VM, tapez la commande suivante

    ssh vagrant @ localhost -p 2222

Lorsque vous recevez le message suivant, tapez "oui" et appuyez sur Entrée.

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. Maintenant, pour établir un type de connexion SSH: $ vagrant ssh

  2. Copiez la clé publique de l'hôte dans le fichier allowed_keys dans la machine virtuelle vaginale. Pour cela, allez dans le dossier “Utilisateurs/[vous] /. Ssh” et copiez le contenu dans le fichier id_rsa.pub de la machine hôte et collez-le dans le fichier “~/.ssh/registered_keys” de la Vagrant VM.

  3. Modification de l'autorisation sur le dossier SSH et le fichier allowed_keys dans la machine virtuelle vaginale
  4. Redémarrer vagrant avec: $ relogement vagrant
1
Krishna

Tout d’abord, vous devez supprimer le fichier insecure_private_key généré automatiquement, puis régénérer ce fichier en tapant

vagrant ssh-config

ensuite

vagrant halt
vagrant up

Ça devrait marcher

1
Ahmet Karakaya

J'ai essayé ceci sur ma machine VM

changer les permissions/home/vagrant (fait un chmod 700 dessus)

maintenant je peux ssh directement dans mes boîtes

0
ajay_lamp

J'ai résolu ce problème en exécutant des commandes sur Windows 7 CMD comme indiqué dans le lien suivant dernier message sur ce fil de discussion,

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
Shehzad Nizamani

Une autre solution simple, dans Windows, accédez au fichier Homestead/Vagrantfile et ajoutez ces lignes pour vous connecter avec un nom d'utilisateur/mot de passe au lieu d'une clé privée:

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

Donc, finalement, une partie du fichier ressemblera à ceci:

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

J'espère que cette aide ..

0
Khaled Ali

Entre toutes les réponses ici, il y a beaucoup de bonnes choses à essayer. Pour être complet, si vous

ssh vagrant@localhost -p 2222

comme @Bizmate le suggère, et cela échoue, assurez-vous d'avoir

AllowUsers vagrant

dans le /etc/ssh/sshd_config de votre machine invité/vagabond.

0
Don Smith

Juste pour ces gens qui ont été des idiots comme moi, ou qui ont eu quelque chose d'étrange à leur machine à vagabond. Cette erreur peut également se produire lorsque vous avez modifié les autorisations du répertoire de base de l'utilisateur vagabond (délibérément ou par accident).

Vous pouvez vous connecter à la place (comme décrit dans d'autres publications) à l'aide du mot de passe ("vagrant"), puis exécutez la commande suivante pour corriger les autorisations.

Sudo chown -R vagrant:vagrant /home/vagrant

Ensuite, vous devriez pouvoir vous reconnecter sans entrer le mot de passe.

TL; DR: les autorisations sur votre dossier personnel vagabond sont erronées.

0
Aeolun

J'ai démarré la machine, alors:

vagrant ssh-config

J'ai eu ce qui suit:

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

Puis j'ai couru

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

Machine démarrée à partir d'ici

  • El Capitan 10.11.1 Beta (15B38b)
  • Virtual Box 5.0.8 r103449
  • Vagabond 1.7.4
0
Radek

C’est la que toutes les étapes correctes que j’ai suivies pour résoudre ce problème ci-dessous se sont produites lors de l’exécution de la commande vagabonde.

Ce sont les étapes que j'ai suivies

  1. créer un dossier. par exemple F:\projets
  2. Ouvrez ce dossier dans git bash et exécutez cette commande ssh-keygen -t rsa -b 4096 -C "[email protected]" (mettez une adresse e-mail valide)
  3. Puis générer la paire de clés dans deux fichiers distincts dans le dossier du projet. p.ex. projet (fichier de clé privée), project.pub (fichier de clé publique)
  4. Accédez à cet emplacement C:\Users\Acer.vagrant.d et recherchez le fichier insecure_private_key
  5. Sauvegardez le fichier, copiez le contenu de la clé privée nouvellement créée et collez-le dans le fichier insecure_private_key. Copiez ensuite insecure_private_key et collez-le également à cet emplacement.
  6. Maintenant vagabond dans l'emplacement de votre projet. après avoir généré le type de problème ci-dessus, vagrant ssh et aller à l'intérieur en indiquant le nom d'utilisateur, le mot de passe. (Par défaut, le nom d'utilisateur et le mot de passe sont définis comme vagabonds)
  7. Allez à l'intérieur de cet emplacement cd /home/vagrant/.ssh et tapez mv allowed_keys allowed_keys_bk
  8. Ensuite, tapez ls -al et vi allowed_keys pour ouvrir l'éditeur de fichiers vi_authorisé_keys.
  9. Ouvrez la clé publique générée à partir de notepad ++ (project.pub) et copiez le contenu. Ensuite, appuyez sur i sur git bash pour activer le mode insertion dans l'éditeur vi et faites un clic droit et coller. Après avoir appuyé sur échap pour sortir du mode insertion
  10. : wq! pour enregistrer le fichier et tapez ls -al
  11. Ensuite, les autorisations sont définies comme suit: pas besoin de changer drwx ------. 2 vagrant vagrant 4096 13 février 15:33. drwx ------. 4 vagrant vagrant 4096 13 février 14:04 .. -rw -------. 1 vagrant vagrant 743 13 février 14:26 registered_keys -rw -------. 1 racine racine 409 13 février 13:57 registered_keys_bk -rw -------. 1 vagrant vagrant 409 Jan 2 23:09 registered_keys_originial Sinon, tapez chmod 600 allowed_keys et tapez cette commande trop chown vagrant: vagrant allowed_keys
  12. Enfin, exécutez la halte et vagabond à nouveau.

************************ CET IS TRAVAILLE FIN POUR ME *****************

0
Vayodya Tamari

Cela fait deux jours que je me tape la tête dessus avec une boîte de base reconditionnée. (Mac OS X, El Capitan)

Après la procédure de @Radek, j’ai fait "vagrant ssh-config" sur la boîte source et j’ai eu:

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

Sur la nouvelle copie, cette commande m'a donné:

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

Donc, je viens d'ajouter cette ligne dans la nouvelle copie:

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

Pas parfait, mais je peux continuer ma vie.

0
rickb

Facile:

Homestead destroy
Homestead up

Modifier (pas aussi simple que prévu):

Le problème était que les nouvelles versions de Homestead utilisent php7.0 et quelques autres éléments. Pour éviter ce gâchis, assurez-vous de définir la verison dans Homestead.yml:

version: "0"
0
surfer190

J'utilise Vagrant avec une configuration Puphpet à partir de mai 2015 et j'ai eu ce problème. Il semble que la configuration générée ne gère pas le comportement de régénération de clés ssh de Vagrant 1.7.4 (ou peut-être un peu plus tôt?) S'il détecte une clé non sécurisée.

Je l'ai résolu en ajoutant ce qui suit dans Vagrantfile (configuration locale) généré par Puphpet dans la clause "if File.file? (CustomKey)":

config.ssh.insert_key = false

Référence commit

0