ได้คุณสามารถตั้งค่านี้ในระดับพื้นที่โฆษณา / โฮสต์
ด้วยคำตอบที่ยอมรับแล้วในปัจจุบันฉันคิดว่านี่เป็นคำตอบที่ดีกว่าสำหรับคำถามเกี่ยวกับวิธีจัดการสิ่งนี้ในระดับสินค้าคงคลัง ฉันคิดว่าสิ่งนี้ปลอดภัยมากขึ้นโดยการแยกการตั้งค่าที่ไม่ปลอดภัยนี้ไปยังโฮสต์ที่จำเป็นสำหรับสิ่งนี้ (เช่นระบบทดสอบเครื่องพัฒนาในพื้นที่)
สิ่งที่คุณสามารถทำได้ในระดับสินค้าคงคลังคือเพิ่ม
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
หรือ
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
ตามนิยามโฮสต์ของคุณ (ดูที่Ansible Behavioral Inventory Parameters )
สิ่งนี้จะได้ผลหากคุณใช้ssh
ประเภทการเชื่อมต่อไม่ใช่paramiko
หรืออย่างอื่น)
ตัวอย่างเช่นคำจำกัดความของโฮสต์ Vagrant จะมีลักษณะดังนี้ ...
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
หรือ
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
จากนั้นการรัน Ansible จะประสบความสำเร็จโดยไม่ต้องเปลี่ยนแปลงตัวแปรสภาพแวดล้อมใด ๆ
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
ในกรณีที่คุณต้องการทำสิ่งนี้ให้กับกลุ่มโฮสต์นี่คือคำแนะนำในการทำให้เป็นกลุ่มเสริมสำหรับกลุ่มที่มีอยู่ดังนี้:
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ANSIBLE_HOST_KEY_CHECKING
ทำงาน แต่-e 'host_key_checking=False'
ไม่ทำงาน