Я создал многоузловую бродячую среду, состоящую из трех узлов, и у меня возникают проблемы с переходом от одного бродячего виртуального компьютера к другому.
Вот Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.define "master" do |master|
master.vm.hostname = "master.local"
master.vm.network "private_network", type: "dhcp"
end
config.vm.define "node1" do |node1|
node1.vm.hostname = "node1.local"
node1.vm.network "private_network", type: "dhcp"
end
config.vm.define "node2" do |node2|
node2.vm.hostname = "node2.local"
node2.vm.network "private_network", type: "dhcp"
end
end
Файл hosts (одинаковый на каждом узле):
$ cat /etc/hosts
172.28.128.3 master.local master
172.28.128.4 node1.local node1
172.28.128.5 node2.local node2
Я могу пинговать туда и обратно весь день с любой машины на другую, но я не могу перешагнуть ssh с одного бродячего vm на другой. Типичное сообщение об ошибке (от узла 1 до мастера):
[vagrant@node1.local] $ ssh vagrant@172.28.128.3
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
SSH работает, а порт открыт.
Брандмауэр не работает.
Я уверен, что это связано с ключами SSH. Я с готовностью признаю, что я не эксперт.
Что я здесь делаю не так, ребята?
ssh vagrant@host
и использоватьvagrant
в качестве пароля.ip a
всех ящиков к вопросу и проверьте, доступны ли IP-адреса (172.28.128.3-5), когда ящики не работают.Ответы:
Следующий файл Vagrant решает эту проблему.
Вы можете получить все вспомогательные ключевые файлы вместе с этим бродячим файлом по адресу https://github.com/malyabee/IaaC/tree/master/ansible_lab
источник
Согласно документам следует использовать:
Если есть один узел, тогда используйте,
vagrant ssh
а в случае многоузлового - укажите имя или идентификатор виртуальной машины, напримерvagrant ssh box1
Если вы хотите использовать ssh между блоками, то вы можете создать ssh-ключ и предоставить закрытый ключ для каждого блока и добавить открытый ключ в файл authorized_keys.
https://www.vagrantup.com/docs/provisioning/file.html
источник
vagrant ssh name
в коробке? Речь идет о подключении по ssh от node1.local к master.local, которые обе машины раскручивают по vagrant.Попробуйте эту ссылку . Вам необходимо выполнить одно из следующих действий:
ssh -i <pathto/private_key> <vagrant>@<ip>
ssh -o PreferredAuthentications=password user@server-ip
(если вы не отключили аутентификацию на основе пароля)источник