Karena fakta bahwa saya menjawab ini pada tahun 2014, saya telah memperbarui jawaban saya ke akun untuk versi yang lebih baru dari ansible.
Ya, Anda dapat melakukannya di tingkat host / inventaris (Yang menjadi mungkin pada versi terbaru yang memungkinkan ) atau tingkat global:
inventaris :
Tambahkan yang berikut ini.
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
tuan rumah :
Tambahkan yang berikut ini.
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
host / opsi inventaris akan berfungsi dengan jenis koneksi ssh
dan tidak paramiko
. Beberapa orang mungkin dengan tegas berpendapat bahwa inventaris dan host lebih aman karena cakupannya lebih terbatas.
global:
Panduan Pengguna yang Mungkin - Pemeriksaan Kunci Host
Anda dapat melakukannya di file /etc/ansible/ansible.cfg
atau ~/.ansible.cfg
:
[defaults]
host_key_checking = False
Atau Anda dapat mengatur dan variabel env (ini mungkin tidak berfungsi pada versi baru yang memungkinkan):
export ANSIBLE_HOST_KEY_CHECKING=False
ANSIBLE_HOST_KEY_CHECKING
berfungsi tetapi-e 'host_key_checking=False'
tidak berfungsi.ansible_ssh_common_args='-o StrictHostKeyChecking=no'
atauansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Ya, Anda dapat mengatur ini di inventaris / tingkat host.
Dengan jawaban yang sudah diterima sekarang, saya pikir ini adalah jawaban yang lebih baik untuk pertanyaan tentang bagaimana menangani ini di tingkat persediaan. Saya menganggap ini lebih aman dengan mengisolasi pengaturan tidak aman ini ke host yang diperlukan untuk ini (misalnya sistem pengujian, mesin pengembangan lokal).
Apa yang dapat Anda lakukan di tingkat persediaan adalah menambahkan
atau
ke definisi host Anda (lihat Parameter Inventaris Perilaku yang Mungkin ).
Ini akan berfungsi asalkan Anda menggunakan
ssh
jenis koneksi, bukanparamiko
atau yang lain).Misalnya, definisi host Vagrant akan terlihat seperti…
atau
Menjalankan Ansible kemudian akan berhasil tanpa mengubah variabel lingkungan apa pun.
Jika Anda ingin melakukan ini untuk grup host, berikut adalah saran untuk membuatnya menjadi grup var tambahan untuk grup yang sudah ada seperti ini:
sumber
ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
dalam file group_vars file yml.Saya tidak bisa menggunakan:
dalam file inventaris. Tampaknya ansible tidak mempertimbangkan opsi ini dalam kasus saya (kemungkinan 2.0.1.0 dari pip di ubuntu 14.04)
Saya memutuskan untuk menggunakan:
Itu membantu saya.
Anda juga dapat mengatur variabel ini dalam grup sebagai gantinya untuk setiap host:
sumber
UserKnownHostsFile
/GlobalKnownHostsFile
untuk/dev/null
juga berfungsi dengan baik. Aneh bahwa pengaturanStrictHostKeyChecking
tidak berhasil untuk Anda. Kemungkinan besar beberapa opsi dalam konfigurasi SSH Anda penyebabnya.-o UserKnownHostsFile=/dev/null
. Tanpanya juga tidak berhasil untuk saya, terlepas dari lokasi dan cara yang saya sebutkanansible_ssh_common_args
diuraikan dalam jawaban lain.Dalam
/etc/ansible/ansible.cfg
tanda komentar baris:dan di
/etc/ansible/hosts
baris tanda komentarItu saja
sumber
Menambahkan hal berikut ke konfigurasi yang memungkinkan berfungsi saat menggunakan perintah ad-hoc yang memungkinkan:
Versi yang Mungkin
sumber
Anda mengatur konfigurasi ini di file
/etc/ansible/ansible.cfg
atau~/.ansible.cfg
atauansible.cfg
(di direktori Anda saat ini)diuji dengan kemungkinan 2.9.6 di ubuntu 20.04
sumber