ssh - vagrant ssh key 鸡和蛋

我将 vagrant 与 3rd 方 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。如果我在创建虚拟机后这样做,这将有效。

但是当我从头开始重新配置虚拟机时,虚拟机还没有通过我的引导 shell 脚本接收到公钥。

如何让 vagrant 在authorized_keys 中安装我的公钥并使用 vagrant/vagrant 进行身份验证,直到发生这种情况?或者,还有更好的方法?

最佳答案

找到了有用的东西

基于此Vagrant insecure by default?

我们在哪里

config.ssh.private_key_path = ["#{ENV['HOME']}/.ssh/id_rsa", \ 
    "#{ENV['HOME']}/.vagrant.d/insecure_private_key"]

这似乎具有 vagrant 尝试 key 直到找到有效的 key 的效果(该示例也枚举了主机文件系统路径 - 确实非常好。)

关于ssh - vagrant ssh key 鸡和蛋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24487927/

相关文章:

grails - 在Grails中为ShiroUser指定软件包

grails - 为grails支架禁用sitemesh吗?

windows - 从Windows终端远程运行Unix脚本并传回提示

grails - 如何使Grails条件作为左联接执行?

sockets - 通过Network.Browser进行Socks5连接

grails - 嵌套Jasper表达式

ssh - GitLab ssh 到本地用户的主机名导致 "fatal: Could not rea

grails - Grails:对关系中的集合进行分页和排序

php - 通过ssh2 sftp包装程序进行fopen会导致Chrome ERR_EMPTY_RE

grails - Grails命令对象和输入名称值