Thursday, January 15, 2015

SSH trust antar server

Untuk kebutuhan kerja server yang saling membutuhkan resource satu dengan yang lain, seperti skenario server :

  1. High availability
  2. Active-active clustering
  3. 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

Install CCcam untuk card sharing di ClearOS

( warning -- Ini hanya sebagai pendidikan, penyalahgunaan kartu akses PAYTV tanpa otorisasi adalah tindakan yang dapat dijerat hukum--) ...