Dua opsi - yang pertama, seperti yang Anda katakan dalam jawaban Anda sendiri, adalah mengatur variabel lingkungan ANSIBLE_HOST_KEY_CHECKING
ke False.
Cara kedua untuk mengaturnya adalah dengan meletakkannya di file ansible.cfg, dan itu opsi yang sangat berguna karena Anda dapat mengaturnya secara global (pada tingkat sistem atau pengguna, dalam /etc/ansible/ansible.cfg
atau ~/.ansible.cfg
), atau dalam file konfigurasi di direktori yang sama sebagai buku pedoman yang Anda jalankan.
Untuk melakukannya, buat ansible.cfg
file di salah satu lokasi itu, dan sertakan ini:
[defaults]
host_key_checking = False
Anda juga dapat mengatur banyak default berguna lainnya di sana, seperti apakah akan mengumpulkan fakta atau tidak di awal permainan, apakah akan menggabungkan hash yang dideklarasikan di beberapa tempat atau mengganti satu dengan yang lain, dan seterusnya. Ada daftar besar seluruh opsi di sini di dokumen Ansible.
Edit: catatan tentang keamanan.
Validasi kunci host SSH adalah lapisan keamanan yang berarti untuk host yang gigih - jika Anda terhubung ke mesin yang sama berkali-kali, berharga untuk menerima kunci host secara lokal.
Untuk instance EC2 yang berumur panjang, masuk akal untuk menerima kunci host dengan tugas yang dijalankan hanya sekali pada pembuatan awal instance:
- name: Write the new ec2 instance host key to known hosts
connection: local
shell: "ssh-keyscan -H {{ inventory_hostname }} >> ~/.ssh/known_hosts"
Tidak ada nilai keamanan untuk memeriksa kunci host pada instance yang Anda berdiri secara dinamis dan menghapus tepat setelah eksekusi playbook, tetapi ada nilai keamanan dalam memeriksa kunci host untuk mesin yang persisten. Jadi, Anda harus mengelola pemeriksaan kunci host secara berbeda per lingkungan logis.
- Biarkan pemeriksaan diaktifkan secara default (dalam
~/.ansible.cfg
)
- Nonaktifkan memeriksa kunci host di direktori kerja untuk playbook yang Anda jalankan terhadap instance sesaat (di
./ansible.cfg
samping playbook untuk tes unit terhadap VM gelandangan, otomatisasi untuk instance EC2 berumur pendek)