В Vagrantfile дайте каждой машине статический частный адрес.
Vagrant.configure(2) do |config|
config.vm.define "master" do |master|
master.vm.box = "ubuntu/trusty64"
# You may wish to use a more obscure private ip, like 10.2.2.4
master.vm.network "private_network", ip: "10.0.0.200"
end
config.vm.define "slave" do |slave|
slave.vm.box = "ubuntu/trusty64"
# You may wish to use a more obscure private ip, like 10.2.2.5
slave.vm.network "private_network", ip: "10.0.0.201"
end
End
На обеих машинах вы можете сначала загрузить ssh в одну по имени
vagrant ssh master
И из этого сеанса вы можете ssh на другую машину через частную сеть ip:
ssh 10.0.0.201
При запросе имени пользователя / пароля вы можете пройти аутентификацию как vagrant
/ vagrant
или дополнительно настройте ssh для себя.
Эта информация была адаптирована из следующего поста [1] :
- Бродячий кластер виртуальных машин Джесси - jessesnet 2014-04-22. Получено 2015-02-26
Я только что исправил это в сложной настройке Cent Vagrant с несколькими ОС CentOS (BoxCutter 6.9). Существует два уровня этой проблемы, моя проблема была 2:
Правильно настройте конфигурацию Vagrant, чтобы у вас была «private_network», а IP-адреса всех ваших виртуальных машин находятся в одной подсети (статической или DHCP): https://www.vagrantup.com/docs/networking/private_network.html
При ssh'ing между VM, если вы получаете эту ошибку:
[root@vm01 ~]# ssh root@vm02 Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Сообщение об ошибке означает, что ни один из методов аутентификации не смог аутентифицировать ваш сеанс, и нет упоминания опции пароля, поэтому аутентификация по паролю, вероятно, была отключена. Исправить правку/etc/ssh/sshd_config
и проверьте, что у вас естьPasswordAuthentication yes
и это не закомментировано (#
), затем перезагрузитеsshd
если необходимо:service sshd restart
(это не отсоединит никаких сессий, потому что это умно).источник