Ansible

如何為 SSH 連接設置預設 Ansible 使用者名/密碼?

  • October 7, 2021

我正在使用 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_useransible_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

引用自:https://serverfault.com/questions/628989