ansible碎碎念


1. 

Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to
manage this host.

解決方法:

export ANSIBLE_HOST_KEY_CHECKING=False

 

2. 如何生成user模塊需要的password

python -c 'import crypt; print crypt.crypt("123456")'

 

3. 只指定一台主機執行

ansible -i '10.102.95.28,' all  --list-host

 

4. ansible手動指定密碼

ansible -i '192.168.244.20,' all -m 'shell' -a 'df -h' -uroot -e "ansible_ssh_pass=123456"

 

5. ControlPersist自動登陸

#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s

Ansible配置文件里面的選項,默認開啟,這樣,在60s內不用重復輸入密碼。SSH版本必須是5.6或以上版本才可使用ControlPersist特性。

 

6. 獲取IP地址

hostvars[inventory_hostname]['ansible_default_ipv4']['address']

 

7. {"changed": false, "msg": "Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the target directory. Consider changing the remote tmp path in ansible.cfg to a path rooted in \"/tmp\"

# vim /etc/ansible/ansible.cfg
remote_tmp = /tmp

 

8. Timeout (12s) waiting for privilege escalation prompt

   1. 帶上-K參數

    -K, --ask-become-pass
                        ask for privilege escalation password

  2. -c paramiko 

  https://github.com/ansible/ansible/issues/14426


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM