2017-10-21 72 views
0

我有一本關於Ansible Devops的書。我的問題是我可以SSH進入服務器,但Ansible不能。這是我的vagrantfile;Vagrantfile設置爲允許Ansible在SSH中

# -*- mode: ruby -*- 
# vi: set ft=ruby 

VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    # General Vagrant VM configuration 
    config.vm.box = "geerlingguy/centos7" 
    config.ssh.insert_key = false 
    config.vm.synced_folder ".", "/vagrant", disabled: true 
    config.vm.provider :virtualbox do |v| 
    v.memory = 256 
    v.linked_clone = true 
end 

# Application server 1 
    config.vm.define "app1" do |app| 
    app.vm.hostname = "orc-app1.dev" 
    app.vm.network :private_network, ip: "192.168.60.4" 
end 

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

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

而我的Ansible hosts文件;

# Application servers 
[app] 
192.168.60.4 
192.168.60.5 
# Database servers 
[db] 
192.168.60.6 

# Group 'multi' with all servers 
[multi:children] 
app 
db 

# Variables that will be appliedto all servers 
[multi:vars] 
ansible_ssh_user=vagrant 
ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key 

我知道我可以明確地添加ansible_ssh_port=2200等,但我寧願它在vagrantfile

+0

Stack Overflow是編程和開發問題的網站。這個問題似乎是無關緊要的,因爲它不是關於編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。 – jww

回答

0

設置你可以嘗試一些事情

  1. 設置全SSH密鑰路徑,在ansible配置。
  2. 嘗試使用ssh連接你的自己。
  3. 使用telnet檢查是否打開了第22個端口。如果它已關閉,則可以嘗試在VM中禁用防火牆。 CentOS默認啓用它。