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, поместить закрытый ключ в виртуальную машину и передать открытый ключ пользователю?

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
Другие вопросы по тегам