Có, bạn có thể đặt điều này ở cấp khoảng không quảng cáo / máy chủ.
Với câu trả lời đã được chấp nhận hiện tại, tôi nghĩ đây là câu trả lời tốt hơn cho câu hỏi về cách xử lý điều này ở cấp độ hàng tồn kho. Tôi coi điều này an toàn hơn bằng cách cô lập cài đặt không an toàn này với các máy chủ cần thiết cho việc này (ví dụ: hệ thống thử nghiệm, máy phát triển cục bộ).
Những gì bạn có thể làm ở cấp khoảng không quảng cáo là thêm
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
hoặc là
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
vào định nghĩa máy chủ lưu trữ của bạn (xem Thông số khoảng không quảng cáo hành vi Ansible ).
Điều này sẽ hoạt động với điều kiện bạn sử dụng ssh
loại kết nối, không phải paramiko
hoặc thứ gì khác).
Ví dụ: định nghĩa máy chủ lưu trữ Vagrant sẽ giống như…
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
hoặc là
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Chạy Ansible sau đó sẽ thành công mà không cần thay đổi bất kỳ biến môi trường nào.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
Trong trường hợp bạn muốn làm điều này cho một nhóm máy chủ, đây là một gợi ý để đặt nó thành var nhóm bổ sung cho một nhóm hiện có như thế này:
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ANSIBLE_HOST_KEY_CHECKING
hoạt động nhưng-e 'host_key_checking=False'
không hoạt động.