Je construis une machine à vagabond (Ubuntu 12.04) avec les conditions suivantes:
J'ai généré des clés publiques/privées (via ssh-keygen
) sur l'hôte et j'ai déplacé la clé publique dans le fichier authorized_keys
de l'invité. Et j'ai essayé un SSH sans mot de passe.
Un certain nombre de choses se produisent, je tape vagrant ssh
avec des clés SSH activées par mot de passe:
Le résultat est le message d'erreur suivant:
SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.
Ensuite, j'ai essayé SSH sans mot de passe.
vagrant ssh
[email protected]'s password:
??
Je n'ai jamais mis en place un utilisateur vagabond! Il devrait s'agir de user@hostname
tel que je l'avais configuré et je peux confirmer qu'il fonctionne lorsque j'amorce le VM dans VirtualBox.
Comment obtenir des clés SSH privées pour travailler correctement avec vagrant? Que faire sur l'hôte, que faire sur l'invité?
Mettre à jour
Dans VirtualBox, la VM est active, mais je ne peux effectuer aucune des commandes suivantes à partir d'une console vagrant en plus des problèmes liés à vagrant ssh
:
vagrant up
vagrant halt
La seule commande vagabonde qui fonctionne est vagrant suspend
. Lorsque je l'utilise, je peux réellement arrêter la machine via vagrant halt
. Voici la sortie:
$ vagrant halt
[default] Attempting graceful shutdown of VM...
SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.
J'ajoute cette solution pour quiconque vient à ce fil:
Commencez par ouvrir ce fichier sur la machine hôte:
$ Sudo vim ~/.vagrant.d/boxes/<yourbox>/include/_Vagrantfile
Vérifiez que config.ssh.private_key_path
est défini sur votre fichier de clé privée. Si pas mettre à jour que
ssh à vagrant box avec pwd par défaut
$ vagrant ssh (default pwd = ‘vagrant’]
Une fois dans la boîte:
vagrant@lucid64:~$ Sudo visudo -f .ssh/authorized_keys
Ajoutez votre clé publique à ce fichier et sauvegardez le fichier, puis quittez la boîte.
vagrant@lucid64:~$ exit
Retour à la machine locale
$ vagrant halt
$ vagrant up
Cela a fonctionné pour moi
J'ai eu le même problème bien que ce ne soit pas dû à des problèmes clés de SSH. Lors du démarrage de la machine, Virtualbox a fonctionné et a permis à l’invité de bien se préparer. J'ai été capable de SSH dans la machine moi-même, et vagrant ssh
a fonctionné bien qu'il me demande un mot de passe. Je me suis connecté et j'ai trouvé ce qui suit dans /var/log/auth.log sur l'invité:
Feb 13 10:14:34 spaaza-dev sshd[1468]: Accepted password for vagrant from 192.168.50.1 port 61816 ssh2
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session opened for user vagrant by (uid=0)
Feb 13 10:14:34 spaaza-dev sshd[1636]: Received disconnect from 192.168.50.1: 11: disconnected by user
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session closed for user vagrant
Feb 13 10:16:44 spaaza-dev sshd[1764]: Authentication refused: bad ownership or modes for directory /home/vagrant
Je suis allé voir les autorisations pour/home/vagrant:
drwxrwxrwx 6 vagrant vagrant 4096 Feb 13 10:15 vagrant
Pas bien, quelque chose d'autre que j'avais fait avait par inadvertance changé les permissions du répertoire/home/vagrant. Ce qui suit a résolu le problème:
# chmod 755 vagrant
drwxr-xr-x 6 vagrant vagrant 4096 Feb 13 10:15 vagrant
Après cela, j'ai arrêté la machine, je l'ai remise en marche et vagrant a bien fait son travail. :-)
Essayez de copier la clé publique vagabonde non sécurisée dans le fichier .ssh/authorized_keys
dans la zone invité.
J'espère que cela résoudra votre problème SSH.
Si vous voulez le sécuriser, vous pouvez le faire en copiant votre propre fichier .ssh/id_rsa.pub dans le fichier susmentionné. Et mettre le
config.ssh.private_key_path = '~/.ssh/id_rsa'
dans votre Vagrantfile.
Pour tous ceux qui ont ce problème. il m'a fallu des siècles pour réparer. (Pourtant, la solution est facile !!) Ainsi, selon la documentation de Vagrant, il existe un mot de passe par défaut pour l'utilisateur "vagrant" qui est "vagrant" sans guillemets simples. vous pouvez en lire plus sur le même site sur leur site officiel http://docs.vagrantup.com/v2/boxes/base.html
Suivez les étapes pour résoudre le problème dans Mac OS High Sierra: -
Il lancera des scripts si vous en avez et télécharge la boîte virtuelle à votre place. 8.Vous recevrez le message 'Terminé'
Assurez-vous que la boîte virtuelle est correctement installée, puis n'exécutez que la commande vagrant. Si vous rencontrez un problème avec la désinstallation de la boîte virtuelle, exécutez le script de désinstallation fourni avec pkg et essayez à nouveau de l’installer.