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' ...
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