Ansible dengan Non Standard Port SSH

Ansible adalah suatu alat untuk melakukan automatisasi dalam melakukan konfigurasi suatu atau sekumpulan server. Ansible dapat mengeksekusi sebuah perintah/script pada remote host atau host itu sendiri. Ansible menggunakan playbook untuk dalam bentuk file .yml untuk mengeksekusi suatu perintah melalui remote ssh. Dengan syarat sudah melakukan less password (tanpa password).

Secara bawaan, ansible menggunakan ssh agar dapat berjalan, maka secara otomatis hosts tujuan harus membuka port 22 agar dapat di lakukan remote menggunakan ansible.

Namun, bagaimana jika port ssh dari host tujuan berbeda, contoh menggunakan por 8022? Kita harus melakukan sedikit modifikasi pada file hosts yang ada pada folder ansible.

Sebagai contoh saya mempunyai server 192.168.80.2 dan port SSH nya adalah 8022. Untuk melakukan kustomisasi port agar ansible dapat terhubung kita dapat menggunakan dengan beberapa cara.

Edit pada file Hosts

Ansible mempunyai file hosts tersendiri yang terpisah, di mana pada file tersebut berisi daftar-daftar dari server. Pada ansible hosts kita dapat memberikan kategori terhadap suatu server. File tersebut biasanya berada pada “/etc/ansible/hosts”. Untuk port yang tidak standar kita dapat menambahkan port dibelakang IP server/server. Contoh:

[my-server]
192.168.80.2:8022
192.168.80.3:7022

Untuk mengeksekusi nya cukup seperti biasa, ansible-playbook playbook.yml

Menggunakan Variabel Environtment

Kita juga bisa menggunakan secara cepat tanpa mengubah port tersebut pada ansible hosts. Cukup menambahkan variabel env pada perintah ansible-playbook.

ansible-playbook playbook.yml --check -e ansible_ssh_port=8022

Namun, jika menggunakan variabel ini kelemahannya adalah jika kita memiliki server yang banyak untuk diautomatisasi, semua server yang terdaftar harus menggunakan port 8022. Agar ansible dapat dijalankan.

Jika ada salah satu server yang tidak menggunakan port 8022/port lain. Maka server tersebut tidak bisa menggunakan ansible. Berbeda halnya dengan mengedit ansible hosts. Kita dapat mendefinisikan port tersebut pada tiap server.

Semoga bermanfaat!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.