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

 

你可能感兴趣的:(ansible碎碎念)