1. python
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.shell
解决方法:vim
export ANSIBLE_HOST_KEY_CHECKING=Falsessh
2. 如何生成user模块须要的passwordide
python -c 'import crypt; print crypt.crypt("123456")'
3. 只指定一台主机执行this
ansible -i '10.102.95.28,' all --list-host
4. ansible手动指定密码spa
ansible -i '192.168.244.20,' all -m 'shell' -a 'df -h' -uroot -e "ansible_ssh_pass=123456"
5. ControlPersist自动登录code
#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
Ansible配置文件里面的选项,默认开启,这样,在60s内不用重复输入密码。SSH版本必须是5.6或以上版本才可以使用ControlPersist特性。blog
6. 获取IP地址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