Saya mencoba mencari cara untuk mengkonfigurasi kredensial SSH secara terpisah untuk lingkungan produksi dan pementasan dengan Ansible. Saya memahami bahwa Anda dapat mengkonfigurasi alamat IP server dan nama host secara terpisah menggunakan file persediaan yang berbeda dengan melewati -i
atau --inventory-file
argumen untuk ansible-playbook
perintah. Namun, saya tidak melihat opsi seperti itu untuk ansible.cfg
. Saat ini, kredensial tinggal /etc/ansible/ansible.cfg
sebagai:
[defaults]
private_key_file=/home/caleb/.ssh/staging_key.pem
remote_user=ubuntu
sudo_user=root
gathering=explicit
Bagaimana saya bisa mengkonfigurasi beberapa kredensial SSH, satu untuk produksi dan satu untuk pementasan?
.ssh/config
?Jawaban:
Sepertinya jawaban pertama saya tidak sepenuhnya benar. Meskipun tentu saja mungkin untuk menyelesaikannya dalam
.ssh/config
seperti yang dijelaskan di bawah ini, tampaknya juga dimungkinkan dengan Parameter Inventaris Perilaku Ansibles .Anda harus (menurut dokumen) dapat mendefinisikan keyfile dan pengguna dalam inventaris Anda, baik per host atau per grup.
Definisi per grup:
Definisi per host:
Tetapi Anda dapat menentukan beberapa grup host di Anda
.ssh/config
dan setiap grup dapat memiliki pengaturan terpisah mengenai kunci dan pengguna.Ini adalah contoh cepat
Anda juga dapat menetapkan default dan menimpanya nanti dengan pengaturan yang lebih rinci.
sumber