Topologi Rangkaian
Di sini, komputer riba adalah mesin Debian 10 di mana kami akan memasang Ansible.
Pelayan 6f7c2 dan 6b219 adalah mesin Debian 10 yang akan kami konfigurasikan untuk automasi Ansible. Saya hanya akan memanggil pelayan ini sebagai host yang boleh dikenali untuk tujuan artikel ini.
Kita boleh menggunakan Ansible dari komputer riba untuk mengotomatisasi tugas yang berbeza di 6f7c2 dan 6b219 Pelayan Debian.
Memasang Ansible
Pada bahagian ini, saya akan menunjukkan cara memasang Ansible di komputer riba.
Anda boleh memasang Ansible di Debian 10 dari repositori pakej rasmi Debian.
Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:
$ sudo apt kemas kini
Sekarang, pasang Ansible dengan arahan berikut:
$ sudo apt install ansible
Untuk mengesahkan pemasangan, tekan Y dan kemudian tekan
Ansible mesti dipasang.
Sekarang, jalankan arahan berikut untuk memeriksa sama ada Ansible berfungsi dengan betul.
$ ansible - penukaranSeperti yang anda lihat, arahan yang tidak dapat digunakan tersedia dan berfungsi dengan betul. Tidak boleh dibaca 2.7.7 adalah versi terbaru Ansible yang terdapat di repositori pakej Debian pada masa artikel ini ditulis.
Menjana Kunci SSH
Pada mesin Debian 10 (komputer riba) di mana anda telah memasang Ansible, anda mesti menghasilkan kunci SSH terlebih dahulu.
Untuk menghasilkan kunci SSH, jalankan arahan berikut:
$ ssh-keygen
Sekarang, tekan
Tekan
Tekan
Kekunci SSH harus dihasilkan.
Mengkonfigurasi Host Debian untuk Automasi yang Boleh Dibaca
Di bahagian ini, saya akan menunjukkan kepada anda cara mengkonfigurasi host Debian untuk automasi Ansible. Sekiranya anda mempunyai banyak host yang anda mahu automatik menggunakan Ansible, maka ulangi proses yang sama untuk setiap host.
Host yang anda ingin konfigurasikan untuk automasi Ansible mesti mempunyai pakej pelayan SSH yang telah dipasang sebelumnya.
Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:
$ sudo apt kemas kini
Kemudian, pasang pelayan OpenSSH dengan arahan berikut:
$ sudo apt install openssh-server -y
Dalam kes saya, pakej pelayan OpenSSH sudah terpasang. Sekiranya tidak dipasang dalam kes anda, maka ia harus dipasang sebelum langkah ini.
Sekarang, periksa sama ada sshd perkhidmatan dijalankan melalui arahan berikut:
$ sudo systemctl status sshdSeperti yang anda lihat, sshd perkhidmatan adalah aktif (berlari) dan didayakan (secara automatik akan bermula pada sistem boot).
Sekiranya sshd perkhidmatan adalah tidak aktif (berjalan), mulakan secara manual dengan arahan berikut:
$ sudo systemctl mulakan sshd
Sekiranya sshd perkhidmatan tidak didayakan (tidak ditambahkan ke permulaan sistem) dalam kes anda, tambahkannya ke permulaan sistem secara manual dengan arahan berikut:
$ sudo systemctl mengaktifkan sshd
Sekarang, buat tidak boleh dimakan pengguna dan membenarkan akses sudo tanpa kata laluan ke tidak boleh dimakan pengguna.
Untuk membuat tidak boleh dimakan pengguna, jalankan arahan berikut:
$ sudo adduser --shell / bin / bash --gecos "" ansible
Taipkan kata laluan untuk tidak boleh dimakan pengguna dan tekan
Taip semula kata laluan dan tekan
Seorang tidak boleh dimakan pengguna harus dibuat.
Sekarang, untuk membenarkan akses sudo tanpa kata laluan ke tidak boleh dimakan pengguna, edit / etc / sudoers fail dengan arahan berikut:
$ sudo visudo
Sekarang, tambahkan baris berikut ke / etc / sudoers fail.
ansible ALL = (SEMUA) NOPASSWD: SEMUAKemudian, simpan fail dengan menekan
Sekarang, cari alamat IP dari host Ansible 6f7c2 dengan arahan berikut:
$ nama host -IDi sini, alamat IP dalam kes saya adalah 192.168.20.167. Ia akan berbeza bagi anda. Oleh itu, pastikan untuk mengganti alamat ini dengan borang anda sendiri sekarang.
Menyalin Kunci Awam SSH ke Host yang Tidak Boleh Dibaca
Dari komputer tempat anda memasang Ansible (komputer riba), salin kunci awam SSH ke hos Ansible 6f7c2 seperti berikut:
$ ssh-copy-id ansible @ 192.168.20.167
Taipkan iya dan tekan
Seterusnya, taipkan kata laluan untuk tidak boleh dimakan pengguna dan tekan
Kunci SSH awam harus disalin ke hos Ansible 6f7c2.
Anda seharusnya dapat masuk ke dalam hos Ansible 6f7c2 sebagai pengguna tidak boleh dimakan tanpa kata laluan, seperti yang anda lihat dari tangkapan skrin di bawah:
$ ssh ansible @ 192.168.20.167
Anda juga harus dapat menjalankan perintah sudo tanpa diminta kata laluan.
$ sudo ls /
Akhirnya, tutup sesi SSH seperti berikut:
$ keluar
Menjamin Host yang Tidak Boleh Dikenali
Sebagai tidak boleh dimakan pengguna boleh menjalankan sebarang perintah sudo tanpa diminta kata laluan, kami telah mengkonfigurasi log masuk SSH untuk host Ansible. Tetapi, anda masih boleh memasukkan SSH ke dalam host Ansible sebagai tidak boleh dimakan pengguna menggunakan kata laluan tidak boleh dimakan pengguna. Jadi, ini tidak begitu selamat.
Untuk meningkatkan keselamatan, jalankan arahan berikut pada host Ansible untuk mematikan log masuk berdasarkan kata laluan untuk tidak boleh dimakan pengguna:
$ sudo usermod -L tidak boleh dimakan
Sekiranya anda kemudian memutuskan untuk mengaktifkan log masuk berdasarkan kata laluan untuk tidak boleh dimakan pengguna, jalankan arahan berikut pada hos Ansible:
$ sudo usermod -U tidak boleh dimakanMenguji Ansible
Buat direktori projek baru ~ / projek / di mesin Debian di mana anda telah memasang Ansible (komputer riba) menggunakan kod berikut:
$ mkdir ~ / projek
Navigasi ke ~ / projek / direktori menggunakan kod berikut:
$ cd ~ / projek /
Buat yang baru tuan rumah failkan dalam direktori projek seperti berikut:
hos $ nano
Sekarang, senaraikan alamat IP atau nama DNS hos Ansible (6f7c2 dan 6b219 dalam kes saya) di tuan rumah fail:
192.168.20.167192.168.20.168
Setelah selesai, simpan fail dengan menekan
Untuk menguji, cuba ping semua host menggunakan Ansible dengan kod berikut:
$ ansible -i ./ host semua -u ansible -m pingNOTA: Di sini, -awak pilihan digunakan untuk menentukan nama pengguna (tidak boleh dimakan dalam kes ini) yang akan digunakan oleh Ansible untuk SSH ke dalam hos.
Seperti yang anda lihat, Ansible dapat mengakses semua hos. Jadi, tuan rumah bersedia untuk automasi Ansible.
Jadi, begitulah cara anda memasang Ansible pada Debian 10 dan mengkonfigurasi host Debian untuk automasi Ansible. Terima kasih kerana membaca artikel ini.