在一个 vagrant 文件中定义多个服务器时,ssh 到 vagrant 服务器是不可能的
ssh to vagrant servers not posible when defining several servers in one vagrant file
有谁知道当 vagrant 文件中定义了多个服务器时,ssh 访问服务器是否有任何问题?
这是我的 vagrant 文件的内容:
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,它无法连接
奇怪的是,如果我在单独的 vagrant 文件中定义每个服务器,我不得不使用 "normal" ssh 访问它。
我需要正常的 ssh 访问,因为我在 "live" 我的云服务器上尝试测试我的 ansible 剧本。
我缺少的 vagrant 文件中是否有任何设置?如果每个服务器都有单独的 vagrant 文件,为什么这会起作用?
要通过 ssh 连接到您的多个虚拟机之一,您应该使用您定义的主机名。
例如,要连接到您的 "db" 机器,请使用:
ssh vagrant@orc-db.dev -p 22
您也可以使用以下方式连接到您的计算机:
vagrant ssh db
有关 http://docs.vagrantup.com/v2/multi-machine/index.html 的更多信息。
有谁知道当 vagrant 文件中定义了多个服务器时,ssh 访问服务器是否有任何问题?
这是我的 vagrant 文件的内容:
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,它无法连接
奇怪的是,如果我在单独的 vagrant 文件中定义每个服务器,我不得不使用 "normal" ssh 访问它。
我需要正常的 ssh 访问,因为我在 "live" 我的云服务器上尝试测试我的 ansible 剧本。
我缺少的 vagrant 文件中是否有任何设置?如果每个服务器都有单独的 vagrant 文件,为什么这会起作用?
要通过 ssh 连接到您的多个虚拟机之一,您应该使用您定义的主机名。
例如,要连接到您的 "db" 机器,请使用:
ssh vagrant@orc-db.dev -p 22
您也可以使用以下方式连接到您的计算机:
vagrant ssh db
有关 http://docs.vagrantup.com/v2/multi-machine/index.html 的更多信息。