0
问题出在subconfig1.vm.provision ...上,我应该如何继续?初始化VM的Vagrant后,告诉我SSH工作正常,因为连接被拒绝。我可以完成这项工作,但只能手动插入密码,这里我最大的问题是如何超越密码来自动完成此工作流程。将文件从一台虚拟机传输到另一台虚拟机
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "Machine2" do |subconfig2|
subconfig2.vm.box = "ubuntu/trusty64"
subconfig2.vm.hostname = "Machine2"
subconfig2.vm.network :private_network, ip: "172.16.10.101"
subconfig2.vm.network "forwarded_port", guest: 80, host: 4445, host_ip: "127.0.0.1"
end
#config.vm.provision "file", source: "~/.vagrant/machines/Machine2/virtualbox/private_key", destination: "/home/vagrant/ssh"
config.vm.define "Machine1" do |subconfig1|
subconfig1.vm.box = "ubuntu/trusty64"
subconfig1.vm.hostname = "Machine1"
subconfig1.vm.network :private_network, ip: "172.16.10.100"
# subconfig1.vm.provision "file", source: "~/.vagrant/machines/Machine2/virtualbox/private_key", destination: "/home/vagrant"
subconfig1.vm.provision "shell", privileged: false, inline: <<-SHELL
touch vagrantvm1-info
ifconfig | grep "HWaddr" | cut -b 32-55 >> vagrantvm1-info
# ssh -o StrictHostKeyChecking=no [email protected] uptime
cp /vagrant/.vagrant/machines/Machine2/virtualbox/private_key ~/.ssh
scp -P 2222 -i ~/.ssh/private_key [email protected]:/home/vagrant/vagrantvm1-info /home/vagrant
# ssh [email protected]
# scp [email protected]:/home/vagrant/vagrantvm1-info /home/vagrant
SHELL
end
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "1024"
end
config.vm.provision "shell", privileged: false, inline: <<-SHELL
apt-get install -y avahi-daemon libnss-mdns
apt-get update
apt-get install -y apache2
SHELL
end
我修改了你告诉我的方式,现在唯一的问题是它没有找到该文件:文件提供者: *文件上传源文件C:/Users/Cristian/.vagrant/mac hines/Machine2/virtualbox/private_key必须存在 – Cristian
只需要'config.vm.provision“文件”,source:“.vagrant/machines/Machine2/virtualbox/private_key”,destination:“/ home/ssh”';并确保'private_key'存在于.vagrant/machines/Machine2/virtualbox/ –
如果我将此行标记出来并运行代码,它可以工作,我使用vagrant ssh-configure,并且我可以在文件夹中看到私钥,我甚至可以用帽子来装饰它。但无论我将文件供应器放在vagrantfile的代码中,我都无法访问它,vagrant说该文件不存在。 – Cristian