在一个vagrant文​​件中定义多个服务器时,ssh到vagrant服务器不可用

时间:2015-06-29 16:54:56

标签: vagrant ansible vagrantfile

当在vagrant文​​件中定义了多个服务器时,是否有人知道ssh访问服务器是否有任何问题?

以下是我的流浪文件的内容:

VAGRANTFILE_API_VERSION = "2"

 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
 config.ssh.insert_key = false
 config.vm.provider :virtualbox do |vb|
 vb.customize ["modifyvm", :id, "--memory", "256"]
 end


# Application server 1.
config.vm.define "app1" do |app|
app.vm.hostname = "orc-app1.dev"
app.vm.box = "centos7"
app.vm.network :public_network, ip: "192.168.60.4"
config.ssh.forward_agent = true
end

# Application server 2.
config.vm.define "app2" do |app|
config.ssh.forward_agent = true
app.vm.hostname = "orc-app2.dev"
app.vm.box = "centos7"
app.vm.network :private_network, ip: "192.168.60.5"
end

# Database server.
config.vm.define "db" do |db|
config.ssh.forward_agent = true
db.vm.hostname = "orc-db.dev"
db.vm.box = "centos7"
db.vm.network :private_network, ip: "192.168.60.6"
end
end

Vagrant ssh app1工作正常,但如果我尝试使用ssh访问服务器,如ssh vagrant@192.168.60.6则无法连接

奇怪的是,我不得不用"正常"来访问它。 ssh如果我在单独的vagrant文​​件中定义每个服务器。

我需要正常的ssh访问,因为我试图在我去之前测试我的ansible playbooks" live"在我的云服务器上。

我错过了流浪文件中的任何设置吗?如果每个服务器都有独立的流浪文件,为什么会这样?

1 个答案:

答案 0 :(得分:0)

要通过ssh连接到多个虚拟机之一,您应该使用已定义的主机名。

例如,要连接到“db”计算机,请使用:

ssh vagrant@orc-db.dev -p 22

您还可以使用以下方式连接到您的计算机:

vagrant ssh db

http://docs.vagrantup.com/v2/multi-machine/index.html上提供了更多信息。