我有一个由3个虚拟机组成的集群。这是Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
hosts = {
"host0" => "192.168.33.10",
"host1" => "192.168.33.11",
"host2" => "192.168.33.12"
}
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.ssh.private_key_path = File.expand_path('~/.vagrant.d/insecure_private_key')
hosts.each do |name, ip|
config.vm.define name do |machine|
machine.vm.hostname = "%s.example.org" % name
machine.vm.network :private_network, ip: ip
machine.vm.provider "virtualbox" do |v|
v.name = name
# #v.customize ["modifyvm", :id, "--memory", 200]
end
end
end
end
最近我升级后,这个之前能够正常工作的东西现在突然失效了:
ssh -i ~/.vagrant.d/insecure_private_key vagrant@192.168.33.10
相反,Vagrant要求输入密码。
最近的Vagrant版本(我使用的是1.7.2)为每台机器创建一个安全的私钥。我通过运行以下命令发现了它:
vagrant ssh-config
输出显示每个主机都有不同的密钥。我通过比较它们来验证这些密钥是不同的。
我尝试通过在Vagrantfile中设置config.ssh.private_key_path来强制使用不安全的密钥,但它不起作用。
我想要所有机器都使用不安全的密钥,因为我希望使用ansible从外部配置它们。我不想使用Ansible provisioner,而是将VM视为远程服务器。因此,Vagrantfile仅用于指定群集中的机器,然后将外部进行配置。
文档仍然说默认情况下机器将使用不安全的私钥。
如何使我的虚拟机使用不安全的私钥?