我有一个包含 3 个虚拟机的集群。这是 Vagrant 文件:
# -*- 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 [email protected] /cdn-cgi/l/email-protection
相反,vagrant 会要求输入密码。
看来最新版本的 vagrant (我使用的是 1.7.2)为每台机器创建了一个安全的私钥。我通过运行发现了它
vagrant ssh-config
输出显示每个主机的不同密钥。我通过比较它们来验证密钥是不同的。
我尝试通过在 Vagrantfile 中设置 config.ssh.private_key_path 来强制使用不安全的密钥,但它不起作用。
我想对所有机器使用不安全密钥的原因是我想使用 ansible 从外部配置它们。我不想使用 Ansible 配置程序,而是将虚拟机视为远程服务器。因此,Vagrantfile 只是用来指定集群中的机器,然后在外部进行配置。
文档仍然说默认情况下机器将使用不安全的私钥。
如何让我的虚拟机使用不安全的私钥?