Ansible
如何為 SSH 連接設置預設 Ansible 使用者名/密碼?
我正在使用 Ansible,並且我的庫存/全部中有此配置:
[master] 192.168.1.10 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant [slave] 192.168.1.11 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant 192.168.1.12 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant [app] 192.168.1.13 ansible_connection=ssh ansible_ssh_user=vagrant ansible_ssh_pass=vagrant [all:children] master slave
我不想為每個新實例重複所有參數。我怎樣才能在一個地方配置它們?有沒有這些參數的文件?
您可以將以下部分添加到庫存文件中:
[all:vars] ansible_connection=ssh ansible_user=vagrant ansible_ssh_pass=vagrant
**注意:**在 Ansible 2.0 之前
ansible_user
是ansible_ssh_user
.
組變數
您可以使用Ansible 的最佳實踐文件中指定的playbook 佈局並創建定義它們的文件來設置適用於所有主機的變數。
group_vars/all
--- # file: group_vars/all ansible_connection: ssh ansible_ssh_user: vagrant ansible_ssh_pass: vagrant
$$ edit $$我對你試圖做的事情感到困惑。您不需要在清單中指定 Ansible 使用者或密碼。如果你使用 Vagrant,你肯定不會,如果你從命令行呼叫 Ansible,你可以指定使用者
--user=vagrant
並讓它詢問密碼--ask-pass
。