Plutôt que de créer une nouvelle paire de clés SSH sur une boîte vagabonde, j'aimerais réutiliser la paire de clés que j'ai sur ma machine hôte, en utilisant le transfert d'agent . J'ai essayé de définir config.ssh.forward_agent sur TRUE dans le Vagrantfile, puis redémarré la VM et essayé d'utiliser:
vagrant ssh -- -A
... mais je suis toujours invité à entrer un mot de passe lorsque j'essaye de faire une vérification git. Une idée de ce qui me manque?
ssh
virtualbox
forwarding
ssh-keys
vagrant
Matt V.
la source
la source
Réponses:
J'utilise vagrant 2 sur OS X Mountain Lion.
config.ssh.private_key_path
est votre clé privée localessh-add -L
, s'il n'est pas répertorié, ajoutez-le avecssh-add ~/.ssh/id_rsa
~/.ssh/authorized_keys
sur la VM Vagrant. Vous pouvez le faire par copier-coller ou en utilisant un outil comme ssh-copy-idla source
config.ssh.private_key_path = "~/.ssh/id_rsa"
fait accrocher VagrantWaiting for VM to boot
.config.ssh.private_key_path = [ '~/.vagrant.d/insecure_private_key', '~/.ssh/id_rsa' ]
ssh-add -K
travaillé (ainsi queconfig.ssh.forward_agent = true
). Voir cette réponseAjoutez-le au Vagrantfile
Voir la documentation
la source
config.ssh.forward_agent
à leur fichier de configuration, alors quelles nouvelles informations cette réponse fournit-elle? Même le lien est déjà dans la question.En plus d'ajouter "config.ssh.forward_agent = true" au fichier vagrant, assurez-vous que l'ordinateur hôte est configuré pour le transfert d'agent. Github fournit un bon guide pour cela. (Consultez la section de dépannage).
la source
J'avais cela fonctionnant avec les réponses ci-dessus sur 1.4.3, mais j'ai arrêté de travailler sur 1.5. Je dois maintenant courir
ssh-add
pour travailler pleinement avec la version 1.5.Pour l'instant, j'ajoute la ligne suivante à mon script d'approvisionnement ansible.
- name: Make sure ssk keys are passed to guest. local_action: command ssh-add
J'ai également créé un aperçu de ma configuration: https://gist.github.com/KyleJamesWalker/9538912
la source
Si vous êtes sous Windows, le transfert SSH dans Vagrant ne fonctionne pas correctement par défaut (à cause d'un bogue dans net-ssh). Voir ce rapport de bogue Vagrant particulier: https://github.com/mitchellh/vagrant/issues/1735
Cependant, il existe une solution de contournement! Copiez simplement automatiquement votre clé SSH locale sur la VM Vagrant via un simple script d'approvisionnement dans votre VagrantFile. Voici un exemple: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783
la source
Lorsque nous avons récemment essayé le
vagrant-aws
plugin avec Vagrant 1.1.5, nous avons rencontré un problème avec le transfert d'agent SSH. Il s'est avéré que Vagrant forçaitIdentitiesOnly=yes
sans option pour le changer enno
. Cela a forcé Vagrant à ne regarder que la clé privée que nous avons répertoriée dans leVagrantfile
fournisseur AWS.J'ai écrit nos expériences dans un article de blog . Cela peut se transformer en pull request à un moment donné.
la source
Vagrant up
? Pour le moment, je dois créer la machine, me connecter manuellement, puis ajouter ma clé publique à /home/vagrant/.ssh/authorized_keysAssurez-vous que la VM ne lance pas son propre agent SSH. J'avais cette ligne dans mon
~/.profile
Après l'avoir supprimé, le transfert d'agent SSH a fonctionné.
la source
Le vrai problème est que Vagrant utilise 127.0.0.1:2222 comme redirection de port par défaut. Vous pouvez en ajouter un (pas 2222, 2222 est déjà occupé par défaut)
config.vm.network "forwarded_port", invité: 22, hôte: 2333, host_ip: "0.0.0.0"
"0.0.0.0" est une demande de prise en charge de la connexion externe. puis ssh -p 2333 [email protected] (changement de votre propre adresse IP d'hôte, dud) fonctionnera très bien. Merci, appelez-moi Leifeng!
la source
Sous Windows, le problème est que Vagrant ne sait pas comment communiquer avec l'agent ssh de git-bash. Il sait cependant comment utiliser Pageant de PuTTY. Donc, tant que Pageant est en cours d'exécution et a chargé votre clé SSH, et tant que vous avez défini config.ssh.forward_agent, cela devrait fonctionner.
Voir ce commentaire pour plus de détails.
Si vous utilisez Pageant, la solution de contournement consistant à mettre à jour Vagrantfile pour copier les clés SSH sous Windows n'est plus nécessaire.
la source