LOGIN OTOMATIS SSH DENGAN PUBLIC KEY

00.34 Unknown 0 Comments

Yang sering bergelut dengan remote login menggunakan protokol SSH (Secure Shell) pasti sudah terbiasa mengetikkan password sebagai key pembenaran otorisasi login ke satu mesin server. Ketika password tidak tepat maka Anda tidak bisa login. Benar ngak? Ulang lagi deh passwordnya sampai cocok dengan database password yang terletak di /etc/shadow untuk mesin GNU/Linux.

Metode login diatas disebut key base authorization merupakan salah satu metode yang dapat digunakan untuk login kesatu mesin SSH Server. Cara lain adalah menggunakan public key yang selalu memiliki pasangan setia dengan nama private key. Metode kedua ini dikenal dengan istilah public key authorization. Intinya public key akan disimpan di sisi server dan akan dicocokkan dengan private key yang terletak dikomputer yang digunakan ketika proses remote dimulai.

Kedua metode login diatas masing-masing memiliki kelebihan dan kekurangan, semua kembali kepengguna masing-masing cocoknya cara yang mana? Sedikit gambaran saja jika cara pertama merupakan cara tradisional dan cara kedua adalah cara modern untuk login kesatu system.

Ada dua type key yang didukung oleh protokol SSH yaitu:
1. RSA (Rivest-Shamir-Adleman) untuk jenis protokol SSH1 dan SSH2
2. DSA (Digital Signature Algorithm) untuk jenis protokol SSH2
RSA dan DSA merupakan jenis algoritma enkripsi yang ada didalam ilmu kriptografi.

Selanjutnya bagaimana membuat Public Key SSH untuk login otomatis? Dibawah ini prosesnya.
1. Buat key pair didalam direktori .ssh di home direktori masing-masing
Key pair yang dimaksudkan adalah pasangan public key dan private key.
Masuk kedalam direktori .ssh, jika belum ada silahkan dibuat terlebih dahulu.
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
Oke neh perintah buat key pair dengan type key RSA 2048.
$ cd .ssh
.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/wevils/.ssh/id_rsa): ->Enter sajalah!
Enter passphrase (empty for no passphrase): ->Enter juga jika ingin login otomatis.
Enter same passphrase again:
Your identification has been saved in /home/wevils/.ssh/id_rsa.
Your public key has been saved in /home/wevils/.ssh/id_rsa.pub.
The key fingerprint is:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:** wevils@geek
The key's randomart image is:
+--[ RSA 2048]----+
| .+E+. |
| .o. |
| o |
| . o o |
| . S |
| . .oB |
| . o*o. |
| . + o. |
| .o. o.. |
+-----------------+

Pasangan kuncinya telah terbuat.
File id_rsa sebagai private key untuk komputer client
File id_rsa.pub sebagai public key untuk komputer server

2. Upload public key ke server remote
Sebelum di upload public key-nya, terlebih dahulu copy isi file id_rsa.pub ke file authorized_keys kemudian ubah permission file tersebut.
.ssh$ cat id_rsa.pub >> authorized_keys
.ssh$ chmod 600 authorized_keys
Upload deh keserver, pada contoh ini saya menggunakan scp bawaan protokol SSH.
.ssh$ scp -p authorized_keys wevils@server.local:/home/wevils/.ssh

3. Testing koneksi
Pastikan tidak ada password lagi saat Anda login keserver. Apakah cara ini aman? Amanlah.. jaga aja private key agar tidak diambil oleh pihak lain. Jika ingin lebih aman pada saat membuat key pair masukkan pharase sesuai keinginan, dengan melakukan ini maka login otomatis tidak dapat dilakukan karena setiap kali private key dan public key akan dicocokkan selalu diminta pass pharase.
Enter passphrase (empty for no passphrase): Bukan password login anda diserver!

Sampai disini login SSH secara otomatis seharusnya sudah dapat Anda lakukan. Dibawah ini beberapa penjelasan tambahan agar bahasan tentang public key SSH dapat dipahami dengan baik.

Secara default saat menjalankan perintah ssh-keygen -t rsa, panjang karakter RSA key adalah 2048 bit. Nilai ini dapat ditingkatkan agar level enkripsi lebih baik, artinya semakin panjang bit yang digunakan maka akan semakin menyulitkan pihak lain yang ingin membobol key tersebut. Berikut contoh menaikkan nilai bit RSA
.ssh$ ssh-keygen -t rsa -b 4096

Diatas telah disebutkan ada dua type key yang dapat digunakan yaitu RSA dan DSA. RSA contohnya sudah sangat jelas diatas. Dibawah ini diperlihatkan bagaimana membuat DSA key.
.ssh$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/wevils/.ssh/id_dsa):
Created directory '/home/wevils/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/wevils/.ssh/id_dsa.
Your public key has been saved in /home/wevils/.ssh/id_dsa.pub.
The key fingerprint is:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:** wevils@geek
The key's randomart image is:
+--[ DSA 1024]----+
| o. |
| o o . |
| . =E*.+|
| o o *=++|
| S o .o+o |
| . + |
| . +|
| o.|
| .|
+-----------------+
Jika sudah familiar dengan cara kedua, cara pertama dengan key base authorization dapat anda disable. Pastikan option dibawah sesuai dengan yang ada dalam file konfigurasi SSH (/etc/ssh/sshd_config) diserver Anda.
PasswordAuthentication no
Pastikan setelah merubah option tersebut, restart service SSH.

Semoga tulisan saya ini memberi kita pencerahan kepada rekan-rekan yang nyasar disini.

0 komentar: