2016-06-09 6 views
0

Ich möchte während meiner vagrant Provisioning einen SSH-Schlüssel generieren und den öffentlichen Schlüssel an den Benutzer ausgeben.Vagrant - Generiere einen SSH-Schlüssel und gib ihn aus

Natürlich kann ich leicht einen SSH-Schlüssel erstellen mit so etwas wie

config.vm.provision "shell", inline: <<SCRIPT 
    yes | ssh-keygen -b 2048 -t rsa -f /home/vagrant/.ssh/id_rsa -q -N "" 
SCRIPT 

Wie kann ich /home/vagrant/.ssh/id_rsa.pub nehmen dann und geben sie dem Benutzer ausgeführt wird Vagrant?

Oder gibt es eine Möglichkeit, es in Ruby zu generieren, legen Sie den privaten Schlüssel in die VM und geben Sie den öffentlichen Schlüssel an den Benutzer?

Antwort

1

Das ist wie eine dumme Lösung scheint, also wenn jemand eines besseren denken kann, würde ich wirklich dankbar sein:

config.vm.provision "shell", inline: <<SCRIPT 
    yes | ssh-keygen -b 2048 -t rsa -f /home/vagrant/.ssh/id_rsa -q -N "" 
    echo 
    echo ********************************* 
    echo * PUBLIC KEY - PUT ME ON GITLAB * 
    echo ********************************* 
    echo 
    cat /home/vagrant/.ssh/id_rsa.pub 
    echo 
SCRIPT 

Ein Freund auch den Schlüssel zu /vargrant vorgeschlagen kopieren, die der Ordner, der ist normalerweise vom Host-Ordner mit der relevanten Vagrant-Datei geladen.

config.vm.provision "shell", inline: <<SCRIPT 
    yes | ssh-keygen -b 2048 -t rsa -f /home/vagrant/.ssh/id_rsa -q -N "" 
    cp /home/vagrant/.ssh/id_rsa.pub /vagrant 
SCRIPT