У меня есть кластер из 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 [email protected]
Вместо этого бродяга запрашивает пароль.
Кажется, что последние версии бродяг (я на 1.7.2) создают безопасный закрытый ключ для каждой машины. Я обнаружил это, запустив
vagrant ssh-config
На выходе отображаются разные клавиши для каждого хоста. Я проверял, что разные клавиши отличаются от них.
Я попытался заставить небезопасный ключ, установив в Vagrantfile файл config.ssh.private_key_path, но он не работает.
Причина, по которой я хочу использовать небезопасный ключ для всех машин, - это то, что я хочу предоставить их извне, используя доступную. Я не хочу использовать средство создания Ansible, но рассматриваю виртуальные машины как удаленные серверы. Таким образом, Vagrantfile используется только для указания машин в кластере, а затем инициализация выполняется извне.
В документации по-прежнему указывается, что по умолчанию машины будут использовать секретный секретный ключ.
Как я могу заставить мои виртуальные машины использовать секретный секретный ключ?