1

我想在我的 vagrant 配置期间生成一个 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​​ 中生成它,将私钥放入 VM 并将公钥提供给用户?

4

1 回答 1

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
于 2016-06-09T15:35:41.240 回答