Vagrant - сгенерировать ключ ssh и вывести его

Я хотел бы сгенерировать ssh-ключ во время моей бродячей подготовки и вывести открытый ключ пользователю.

Очевидно, я могу легко создать ключ ssh, используя что-то вроде

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

Как я могу взять файл /home/vagrant/.ssh/id_rsa.pub и передать его пользователю, работающему с Vagrant?

Или есть способ сгенерировать его в ruby, поместить закрытый ключ в виртуальную машину и передать открытый ключ пользователю?


person DanielM    schedule 09.06.2016    source источник


Ответы (1)


Это кажется глупым решением, поэтому, если кто-нибудь может придумать лучшее, я был бы очень благодарен:

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

Друг также предложил скопировать ключ в папку /vargrant, которая обычно монтируется из папки хоста, содержащей соответствующий Vagrantfile.

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
person DanielM    schedule 09.06.2016