Generate Key SSH di Linux dan Windows



Masih melanjutkan postingan sebelumnya tentang remote ssh menggunakan autentikasi key. Kali ini kita akan membuat public dan privat key di sisi client. Setelah berhasil dibuat, public key akan diupload atau ditambahkan ke komputer server.

Membuat Key SSH di Linux dan Windows

Membuat Key di Client Linux

Untuk pengguna linux, contoh di sini saya menggunakan Linux Mint 18, kita bisa me-generate key dengan menggunakan perintah ssh-keygen seperti pada saat membuat key di sisi server.
mint@mint ~ $ ssh-keygen -t rsa

Masukkan passphrase atau skip dengan menekan Enter dua kali.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mint/.ssh/id_rsa):
Created directory '/home/mint/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Your identification has been saved in /home/mint/.ssh/id_rsa.
Your public key has been saved in /home/mint/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:CkvcMirtuDkC9IeMqFE+Chozk4VUoZ+95DYwd/rWI/Q mint@mint
The key's randomart image is:
+---[RSA 2048]----+
|  .o.            |
| ..              |
|.o               |
|..+.o.           |
|o=+=B+..S        |
|@oo***+o         |
|*Bo.o*o o        |
|*=  . oo E       |
|=o.   ... .      |
+----[SHA256]-----+
mint@mint ~ $

Proses generate key telah selesai.

Untuk mengupload publc key ke server, kita bisa menggunakan perintah ssh-copy-id.
mint@mint ~ $ ssh-copy-id xenial@192.168.43.223 -p 2212

xenial adalah user yang akan digunakan untuk meremote server nanti, sedangkan 192.168.43.223 adalah ip address milik server. -p merupakan opsi untuk mendefinisikan port ssh yang digunakan. Apabila service ssh yang berjalan pada server menggunakan port default, maka perintah -p tidak perlu digunakan.

Saat pertama kali melakukan upload key mungkin akan muncul peringatan seperti ini :
The authenticity of host '[192.168.43.223]:2212 ([192.168.43.223]:2212)' can't be established.
ECDSA key fingerprint is SHA256:bJ2G9Un9Cyk56oSY1f0T37E9HGBDU1wH8ruSwC4g1bk.
Are you sure you want to continue connecting (yes/no)? yes
Ketik yes untuk melanjutkan proses.

Selanjutnya kalian akan diminta untuk memasukkan password dari user xenial (user yang akan diberikan key).
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
xenial@192.168.43.223's password:

Proses akan berlanjut hingga selesai.
Number of key(s) added: 1


Now try logging into the machine, with:   "ssh -p '2212' 'xenial@192.168.43.223'"
and check to make sure that only the key(s) you wanted were added.


mint@mint ~ $

Untuk mencobanya, silahkan login ke dalam server menggunakan perintah ssh.
mint@mint ~ $ ssh xenial@192.168.43.223 -p 2212

Apabila ketika membuat key tadi kalian menggunakan passphrase, maka kalian akan diminta untuk memasukkan passphrase tersebut.

Jika passphrase benar atau proses autentikasi berhasil maka kalian akan masuk ke dalam server.
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-87-generic x86_64)


 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


0 packages can be updated.
0 updates are security updates.


New release '18.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.




Last login: Sat Nov  3 13:56:21 2018 from 192.168.43.223
xenial@ubuntuserv:~$


Membuat Key di Client Windows

Pada sistem operasi windows, pembuatan key ssh bisa dilakukan menggunakan aplikasi puttygen.exe.

Buka aplikasi tersebut kemudian tekan tombol Generate.

Membuka aplikasi puttygen.exe

Arahkan kursos mouse atau touchpad ke ruang yang kosong dan geser-geser terus hingga proses generate key selesai.

Proses membuat key SSH

Setelah selesai maka akan muncul key yang telah dibuat :

Hasil key yang sudah selesai dibuat

Key tersebut nantinya akan dicopy ke server. Kemudian kalian juga bisa memasukkan passphrase pada bagian Key passphrase dan Confirm passphrase.
Selanjutnya kita simpan private key dengan menekan tombol Save private key.

Menyimpan private key ke komputer

Simpan file dengan ekstensi .ppk

Langkah berikutnya adalah mengupload public key ke dalam server. Di sini kita tidak mengupload file public key-nya, melainkan kita akan menyalin public key ke dalam file authorized_keys yang ada  di server.

Pertama kita masuk ke server dahulu menggunakan ssh (metode autentikasi password).
Setelah login, kita buat dahulu direktori .ssh
xenial@ubuntuserv:~$ mkdir .ssh

Kemudian kita buat file authorized keys.
xenial@ubuntuserv:~$ nano .ssh/authorized_keys

Masukkan key yang sebelumnya sudah dibuat oleh puttygen.exe.
  GNU nano 2.5.3          File: .ssh/authorized_keys                  Modified


ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAhsP1X+6fmX5gRq2CZv78LMprfehA8340UVrXbGeWeyTdPSzvaTf8z89al128PSn9T/o0GRQxPNO2rd+cst3mzLKHZFcVLoMDik+f9p4OzfncNEyQW2GB7FQuIwU/PDtwsFFCdNr6d8ivX/hXh9iO5U1O2xY1UyuXsXJH1NMFChnePJshONpKcgsDZfgDGyj2H6wReIBY8CNIR1R8QSRJRyqgUlhZVKUKc4iupB+G1gokV/SkgofVlJeEw4Gst3ixF5JkFYP0uq1JPDGG/p/JiPVBl/bJps4wyVLBBxUv2oGpcod9xiAF8YcJZ0k42q62pfBcNChPoc4C7G5yYi9muQ== rsa-key-20181114





















^G Get Help  ^O Write Out ^W Where Is  ^K Cut Text  ^J Justify   ^C Cur Pos
^X Exit      ^R Read File ^\ Replace   ^U Uncut Text^T To Spell  ^_ Go To Line

Simpan file dan ubah permissionnya.

Apabila kita cek menggunakan perintah ls maka isi dari direktori adalah seperti ini :
xenial@ubuntuserv:~$ ls .ssh/
authorized_keys
xenial@ubuntuserv:~$

Key telah berhasil ditambahkan ke server. Selanjutnya adalah melakukan percobaan login ssh menggunakan key yang sudah dibuat tadi.

Buka aplikasi PuTTY. Kemudian isi kolom hostname dan port.

Mengisi kolom hostname dan port

Kemudian masuk ke menu Connection > SSH > Auth. Masukkan private key yang sudah disimpan sebelumnya.

Memasukkan private key ssh yang sudah disimpan sebelumnya

Klik Open untuk melakukan login. Apabila kalian menggunakan passphrase, maka keika proses login kalian akan diminta untuk memasukkan passphrase tersebut.

Demikianlah tutorial membuat key SSH di sisi client Linux dan Windows. Selamat mencoba.

Artikel Lainnya :



Load Comments