ansible 出现检查 keys 的提示处理方法

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 会不记录日志

 

分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS