关于如何在ansible清单文件中设置host_key_checking = false?我想知道是否可以更改剧本定义中的此设置。
我的剧本是自动调用的,我无法export在启动剧本之前设置 ENV 变量。
这是我尝试过的:
---
- hosts: localhost
environment:
ANSIBLE_HOST_KEY_CHECKING: false
roles:
- including_vars
Run Code Online (Sandbox Code Playgroud)
问题是,如果我在 playbook 任务期间添加主机,则会收到以下错误:
无法到达!=> {"changed": false, "msg": "无法通过 ssh 连接到主机: 主机密钥验证失败。\r\n", "unreachable": true}
这似乎表明环境变量没有被使用。
关于如何在运行时更改此设置的任何想法?
您可以在戏剧的 vars 部分设置ansible_host_key_checking
/ :ansible_ssh_host_key_checking
---
- hosts: localhost
vars:
ansible_host_key_checking: false
roles:
- including_vars
Run Code Online (Sandbox Code Playgroud)
重要提示:在启用管道功能的情况下进行测试时,请给 SSH 时间以使持久连接过期,否则更改的设置可能尚未应用。
您还可以创建一个内存清单并host_key_checking针对该清单运行您的真实游戏(这也适用于 2.5 之前的 Ansible 版本):
----
- hosts: localhost
connection: local
gather_facts: false
tasks:
- add_host:
name: my_host
ansible_host: myhost.example.com
host_key_checking: false
- hosts: my_host
tasks:
- ping:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12569 次 |
| 最近记录: |