Ssh-keygen berfungsi untuk menghasilkan private key dan public key yang akan digunakan untuk authentikasi ketika terjadi komunikasi antara dua host. Fungsi ssh-keygen sangat dibutuhkan oleh system admin ketika mengakses server, dengan ssh-keygen maka system admin tidak perlu repot-report mengetikkan password lagi. Berikut contoh instalasi ssh-keygen dimana sebuah server akan diakses oleh client-A dan client-B tanpa menggunakan password. Sistem operasi yang digunakan dalam instalasi ini adalah CentOS-5.8.
A. Client A (192.168.1.21)
Jalankan perintah berikut sebagai user root untuk membuat private dan public key di sisi Client-A, file yang terbentuk di dalam folder /root/.ssh/ adalah id_rsa (private key) dan id_rsa.pub (public key).
[root@client-A~]#ssh-keygen -t rsa
Copy public key ke Server (192.168.1.20), public key ini nanti akan disimpan di sisi Server.
[root@client-A~]#scp /root/.ssh/id_rsa.pub root@192.168.1.20:/root/id_rsa.pub_client-A
B. Client B (192.168.1.22)
Jalankan perintah berikut sebagai user budi untuk membuat private dan public key di sisi Client-B, file yang terbentuk di dalam folder /home/budi/.ssh/ adalah id_rsa (private key) dan id_rsa.pub (public key).
[root@client-B~]#ssh-keygen -t rsa
Copy public key ke Server (192.168.1.20), public key ini nanti akan disimpan di sisi Server.
[root@client-B~]# scp /home/budi/.ssh/id_rsa.pub root@192.168.1.20:/root/id_rsa.pub_client-B
C. Server (192.168.1.20)
Jalankan perintah berikut sebagai root untuk membuat private dan public key di sisi server, kedua file ini akan tersimpan di folder /root/.ssh/ dan kedua key ini tidak digunakan karena yang akan diremote adalah server sendiri.
[root@server~]#ssh-keygen -t rsa
Masukkan isi publik key ke dua server ke dalam file authorized_keys di sisi server.
[root@server~]#cat id_rsa.pub_client-A >> /root/.ssh/authorized_keys
[root@server~]#cat id_rsa.pub_client-B >> /root/.ssh/authorized_keys
Isi dari file authorized_keys :
ssh-rsa AAAAB3NzaC1y-xxxxx-C7YYvL+dJUe+B5qo06IaQ== root@client-A
ssh-rsa AAAAB3NzaC1yc-xxxxx-cikUG150uhz8im8NNVyw== budi@client-B
D. Kesimpulan
– Jika user root pada client-A melakukan ssh ke sisi server maka tidak membutuhkan username dan password lagi, begitu juga dengan user budi pada client-B.
-Jika server melakukan remote ke client-A atau client-B akan tetap meminta password, hal ini terjadi karena public key server tidak disimpan di sisi client-A dan client-B.
One Response to Ssh-keygen