Ansible关闭ssh首次连接(公钥认证)提示
Ansible1.2.1及其之后的版本都会默认启用公钥认证.
公钥认证就是如果之后的某一台客户端和之前登录过的某一台主机IP相同,那么在“known_hosts”中有了不同的key,这时会提示一个错误信息直到被纠正为止。
在使用Ansible时,可能不想遇到那样的情况,如果有个主机没有在“known_hosts”中被初始化将会导致在交互使用Ansible或定时执行Ansible时对key信息的确认提示。如果想要禁用这个行为的话,可以关闭公钥认证,而且公钥认证会比较慢,也是提高效率的一个方法
1 | # 认证提示: |
关闭ssh首次连接的公钥认证提示
方法1:
编辑ansible.cfg
配置文件:
1 | # 用来禁止ssh的指纹key字串检查 |
或者直接设置环境变量:export ANSIBLE_HOST_KEY_CHECKING=False
方法2:
可以使用-o参数将StrictHostKeyChecking设置为no,使用ssh连接时避免首次连接时让输入yes/no部分的提示。通过查看ansible.cfg配置文件,发现如下行:
1 | [ssh_connection] |
修改配置文件:
1 | ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GO TO NEW WORLD!
评论