2016-07-21 24 views
0

Gibt es eine Möglichkeit, den öffentlichen SSH-Schlüssel meines Hosts auf meine VM zu migrieren? Der Anwendungsfall ist:Wie migriere ich den öffentlichen SSH-Schlüssel des Hosts automatisch auf meine Puppet-basierte virtuelle Vagrant-Maschine?

Ich habe einen Benutzer, der einen öffentlichen SSH-Schlüssel hat, der Zugriff auf ein bestimmtes Repository hat. Ich erstelle eine VM, die an andere Entwickler (die mit ihren SSH-Schlüsseln Zugriff auf dieses Repository haben) verteilt wird. Ich möchte das Git-Klonen des Repositories automatisieren, so dass es während der exec-once passiert. Was soll ich tun das beinhaltet so wenig manuelle Wege wie möglich?

PS: Ich verwende https://puphpet.com/, um die Vagrant-Maschine für mich zu generieren - ich bearbeite nicht die Vagrantfile directilty.

+0

hinzufügen zu kopieren dort etwas Ungewöhnliches ist hier vorkommenden, die Sie von einem einfachen verhindert Dateiübertragung und dann Git Clone entweder mit der Shell oder Marionette Provisioner. Was würde das sein? –

+0

yep eine einfache [vagrant Dateibereitstellung] (https://www.vagrantup.com/docs/provisioning/file.html) - stellen Sie sicher, dass das Recht der Datei korrekt ist, nachdem es in '~/.ssh' kopiert wird, aber das sollte in Ordnung sein –

+0

meinst du die ~/.ssh/id_rsa.pub Datei? Ich erstelle meine VM mit https://puphpet.com/, also bearbeite ich die Vagrantfile nicht direkt. –

Antwort

0

Wie in den Kommentaren erwähnt können Sie eine vagrant file provision benutzen, um Ihre privaten Schlüssel auf Ihrer VM

in Ihrem Vagrantfile

Ich gehe davon aus
Vagrant.configure("2") do |config| 
    # ... other configuration 

    config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "/home/vagrant/id_rsa.pub" 
end 
+0

leider habe ich es mehrmals versucht aber ohne Erfolg. –

+0

Präzision: Es leitet tatsächlich den privaten Schlüssel und nicht die öffentliche –

+0

eigentlich bin ich nicht einmal sicher, ob es tut, was ich will. Die Beschreibung lautet: Wenn dies der Fall ist, ist die Weiterleitung des Agenten über SSH-Verbindungen aktiviert. Der Standardwert ist false. –