我使用vagrant和第三方linux盒子。
该框具有默认的vagrant / vagrant凭证。
在我的Vagrantfile中,我希望它使用ssh,所以我有这个
config.vm.provision :shell, :path => "bootstrap.sh"
config.ssh.private_key_path = "~/.ssh/id_rsa"
config.ssh.forward_agent = true
在我的引导脚本中,我想将我的公钥添加到authorized_keys。如果我在创建VM后执行此操作,则此方法有效。
但是,当我从头重新配置VM时,VM尚未通过我的引导程序shell脚本接收到公钥。
我怎样才能让vagrant在authorized_keys中安装我的公钥并在vagrant / vagrant中进行身份验证,直到发生这种情况为止?或者有更好的方法吗?
答案 0 :(得分:1)
找到有用的东西
基于此Vagrant insecure by default?
我们的地方
config.ssh.private_key_path = ["#{ENV['HOME']}/.ssh/id_rsa", \
"#{ENV['HOME']}/.vagrant.d/insecure_private_key"]
这似乎会影响vagrant尝试键,直到找到一个有效的键(该示例也枚举主机文件系统路径 - 确实非常好。)