web-dev-qa-db-fra.com

Bases de SSH sur les machines virtuelles vagabondes

Je construis une machine à vagabond (Ubuntu 12.04) avec les conditions suivantes:

  • Accès SSH via Vagrant à un utilisateur disposant de privilèges Sudo.

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:

  • Je dois taper ma phrase clé sur la machine hôte pour SSH dans la machine virtuelle invité.
  • Chaque fois que je tape le correctphrase clé, il n'est pas accepté.

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 upvagrant 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.
23
rhodee

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

21
Suchit Parikh

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. :-)

3
Sam Critchley

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.

2
Gaurav Agarwal

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

2
Denn

J'ai eu des problèmes similaires. Finalement, je l'ai résolu par:

  • S'assurer que Vagrant et Virtualbox étaient tous les deux à jour
  • S'assurer que les additions invitées VirtualBox étaient à jour en installant le plugin vagrant-vbguestGitHubRubyGems :

    vagrant plugin install vagrant-vbguest
    
2
Flimm

Suivez les étapes pour résoudre le problème dans Mac OS High Sierra: -

  1. J'utilise la version 5.X vagrant
  2. tout d'abord télécharger la boîte virtuelle et ne l'installez pas.
  3. Allez dans Préférences Système -> Confidentialité et cliquez sur Autoriser le téléchargement par l'Amérique.
  4. Verrouillez les modifications ci-dessus et installez la boîte virtuelle.
  5. Vous obtiendrez le message d'installation réussie pour votre boîte virtuelle.
  6. Maintenant, allez au terminal vagabond de type up --provision
  7. Il lancera des scripts si vous en avez et télécharge la boîte virtuelle à votre place. 8.Vous recevrez le message 'Terminé'

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

0
Dibyajyoti Nayak