Anstatt ein neues SSH-Schlüsselpaar auf einer Vagabundbox zu erstellen, möchte ich das Schlüsselpaar, das ich auf meinem Host-Computer habe, mithilfe der Agentenweiterleitung wiederverwenden . Ich habe versucht, config.ssh.forward_agent in der Vagrant- Datei auf TRUE zu setzen, dann die VM neu gestartet und versucht, Folgendes zu verwenden:
vagrant ssh -- -A
... aber ich werde immer noch zur Eingabe eines Passworts aufgefordert, wenn ich versuche, einen Git-Checkout durchzuführen. Irgendeine Idee, was mir fehlt?
ssh
virtualbox
forwarding
ssh-keys
vagrant
Matt V.
quelle
quelle
Antworten:
Ich verwende Vagrant 2 unter OS X Mountain Lion.
config.ssh.private_key_path
ist Ihr lokaler privater Schlüsselssh-add -L
, ob es nicht aufgeführt ist, und es mit hinzufügenssh-add ~/.ssh/id_rsa
~/.ssh/authorized_keys
auf der Vagrant-VM hinzuzufügen . Sie können dies kopieren und einfügen oder ein Tool wie ssh-copy-id verwendenquelle
config.ssh.private_key_path = "~/.ssh/id_rsa"
lässt Vagrant durchhaltenWaiting for VM to boot
.config.ssh.private_key_path = [ '~/.vagrant.d/insecure_private_key', '~/.ssh/id_rsa' ]
ssh-add -K
funktioniert (sowieconfig.ssh.forward_agent = true
) funktioniert . Siehe diese AntwortFügen Sie es dem Vagrantfile hinzu
Siehe die Dokumente
quelle
config.ssh.forward_agent
zu ihrer Konfigurationsdatei hinzugefügt wurden. Welche neuen Informationen liefert diese Antwort? Auch der Link ist schon in Frage.Stellen Sie zusätzlich zum Hinzufügen von "config.ssh.forward_agent = true" zur Vagrant-Datei sicher, dass der Host-Computer für die Agentenweiterleitung eingerichtet ist. Github bietet hierfür einen guten Leitfaden . (Lesen Sie den Abschnitt zur Fehlerbehebung.)
quelle
Ich hatte dies mit den obigen Antworten auf 1.4.3 arbeiten, aber auf 1.5 aufgehört zu arbeiten. Ich muss jetzt laufen
ssh-add
, um mit 1.5 voll zu arbeiten.Im Moment füge ich meinem ansible Provisioning-Skript die folgende Zeile hinzu.
- name: Make sure ssk keys are passed to guest. local_action: command ssh-add
Ich habe auch einen Kern meines Setups erstellt: https://gist.github.com/KyleJamesWalker/9538912
quelle
Wenn Sie unter Windows arbeiten, funktioniert die SSH-Weiterleitung in Vagrant standardmäßig nicht ordnungsgemäß (aufgrund eines Fehlers in net-ssh). Siehe diesen speziellen Vagrant-Fehlerbericht: https://github.com/mitchellh/vagrant/issues/1735
Es gibt jedoch eine Problemumgehung! Kopieren Sie einfach Ihren lokalen SSH-Schlüssel automatisch über ein einfaches Bereitstellungsskript in Ihrer VagrantFile auf die Vagrant-VM. Hier ist ein Beispiel: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783
quelle
Als wir kürzlich das
vagrant-aws
Plugin mit Vagrant 1.1.5 ausprobiert haben , sind wir auf ein Problem mit der Weiterleitung von SSH-Agenten gestoßen. Es stellte sich heraus, dass VagrantIdentitiesOnly=yes
ohne die Option zwang , es zu ändernno
. Dies zwang Vagrant, nur den privaten Schlüssel zu betrachten, den wir imVagrantfile
für den AWS-Anbieter aufgeführt haben.Ich habe unsere Erfahrungen in einem Blogbeitrag festgehalten . Es kann sich irgendwann in eine Pull-Anfrage verwandeln.
quelle
Vagrant up
? Im Moment muss ich die Maschine erstellen, mich manuell anmelden und dann meinen öffentlichen Schlüssel zu /home/vagrant/.ssh/authorized_keysStellen Sie sicher, dass die VM keinen eigenen SSH-Agenten startet. Ich hatte diese Zeile in meinem
~/.profile
Nach dem Entfernen funktionierte die Weiterleitung des SSH-Agenten.
quelle
Das eigentliche Problem ist, dass Vagrant 127.0.0.1:2222 als Standard-Portweiterleitung verwendet. Sie können eine hinzufügen (nicht 2222, 2222 ist standardmäßig bereits belegt)
config.vm.network "forwarded_port", Gast: 22, Host: 2333, Host_ip: "0.0.0.0"
"0.0.0.0" ist eine Möglichkeit, eine Anfrage von einer externen Verbindung entgegenzunehmen. dann funktioniert ssh -p 2333 [email protected] (Änderung Ihrer eigenen Host-IP-Adresse, dud) einwandfrei. Danke mir, nenn mich einfach Leifeng!
quelle
Unter Windows besteht das Problem darin, dass Vagrant nicht weiß, wie er mit dem SSH-Agenten von git-bash kommunizieren soll. Es weiß jedoch, wie man PuTTYs Festzug benutzt. Solange Pageant ausgeführt wird und Ihren SSH-Schlüssel geladen hat und Sie config.ssh.forward_agent festgelegt haben, sollte dies funktionieren.
Siehe diesen Kommentar für Details.
Wenn Sie Pageant verwenden, ist die Problemumgehung zum Aktualisieren der Vagrant-Datei zum Kopieren von SSH-Schlüsseln unter Windows nicht mehr erforderlich.
quelle