1.在首次连接或者重装系统之后会出现检查 keys 的提示
The authenticity of host '192.168.0.5 (192.168.0.5)'can't be established.
ECDSA key fingerprint is05:51:e5:c4:d4:66:9b:af:5b:c9:ba:e9:e6:a4:2b:fe.
Are you sure you want to continue connecting (yes/no)?
解决办法:
vim /etc/ansible/ansible.cfg 或者 ~/.ansible.cfg
[defaults]
host_key_checking = False
也可以通过设置系统环境变量来禁止这样的提示
export ANSIBLE_HOST_KEY_CHECKING=False
方法1:
了解到问题原因为,我们了解到进行ssh连接时,可以使用-o参数将StrictHostKeyChecking设置为no,使用ssh连接时避免首次连接时让输入yes/no部分的提示。通过查看ansible.cfg配置文件,发现如下行:
[ssh_connection]
# ssharguments to use
# Leavingoff ControlPersist will result in poor performance, so use
# paramiko on older platforms rather than removing it
#ssh_args = -oControlMaster=auto -o ControlPersist=60s
所以这里我们可以启用ssh_args 部分,使用下面的配置,避免上面出现的错误:
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -oStrictHostKeyChecking=no
方法2:
在ansible.cfg配置文件中,也会找到如下部分:
# uncommentthis to disable SSH key host checking
host_key_checking = False
默认host_key_checking部分是注释的,通过找开该行的注释,同样也可以实现跳过 ssh 首次连接提示验证部分。由于配置文件中直接有该选项,所以推荐用方法2。
2.在使用 paramiko 模式时,主机 keys 的检查会很慢
3.默认情况下 Ansible 会记录一些模块的参数等信息到每个被控端的 syslog 日志文件里,除非
在任务或者剧本里设置了 no_log: True 会不记录日志