Untuk kebutuhan kerja server yang saling membutuhkan resource satu dengan yang lain, seperti skenario server :
- High availability
- Active-active clustering
- Monitoring
dan lain sebagainya, diperlukan sharing "SSH keys" yang sama di semua server supaya masing2 server dapat masuk kedalam server lain.
Key-Based authentication
Kita akan menggunankan "key-based authentication" unutk membentuk kunci "trust" antar server. Menggunakan kunci ini, kita akan memiliki "trust" untuk keseluruhan server.
Dalam tulisan ini kita akan menggunakan host dengan setting pada "/etc/hosts" berupa "primary" dan "backup". Host primary digunakan untuk server aktif dan host backup digunakan untuk server pasif. Dimana kedua server akan melakukan replikasi data pada folder tertentu melalui rsync.
Membuat Key-Pair
Buat key pair dengan kode berikut :
ssh-keygen -t rsa
tekan <enter> dan biarkan password kosong, hasilnya :
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 3a:54:d7:77:0b:c7:5b:cb:08:1d:f3:77:30:87:1c:88 root@server2.example.com The key's randomart image is: +--[ RSA 2048]----+ | . =+o.| | E.o B+ | | . ...o.+=| | . . ..=.B| | . S . = | | . . | | o | | . | | | +-----------------+
perintah di atas akan membuat file id_rsa dan id_rsa.pub pada direktori /root/.ssh/
Otorisasi server untuk trust
Untuk membuat server kita trust pada key-pair yang telah kita buat maka kita perlu membuat authorized keys file
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
dan dapat dicoba dengan masuk ke server sendiri dengan perintah
ssh root@primary
setelah menerima fingerprint kita harusnya dapat masuk tanpa password.
Copy trust ke server target
Setelah berhasil membuat key-pair dan trust ke server sendiri, maka kita dapat meng copy file ke target server :
scp -r /root/.ssh* backup:/root/
dan kita dapat mencoba login ke target dengan perintah ssh backup dan ssh primary
sampai disini seharusnya kita sudah dapat masuk antar server tanpa password. sehingga aplikasi aplikasi yang membutuhkan ssh dapat berjalan lancar.
Catatan:
Contoh file /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 #::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.10.0.253 primary 10.10.0.46 backup
No comments:
Post a Comment