Cara Mudah Gunakan SSH Keys

Cara Mudah Gunakan SSH Keys
Credit Image : FutUndBiedl

Password-less login, seperti menggunakan Clef memang mudah dan cepat. Namun, aplikasi seperti Clef hanya bekerja pada beberapa software tertentu. Bagaimana jika ingin menggunakan password-less login untuk hal lain, semisal login ke dalam terminal SSH? Salah satu alternatif yang mudah dan juga aman adalah dengan menggunakan SSH Keys.

Apa itu SSH Keys?

Hampir sama seperti password, SSH Keys adalah ibarat gembok dan kunci atas identitas kita. Namun, perbedaannya adalah SSH Keys itu ibarat kunci yang dikunci.

Kok begitu?

Password adalah kunci satu arah. Berisi huruf, angka dan atau simbol yang tidak terenkripsi dan tidak terproteksi. Sepanjang atau sesulit apapun password kamu, dengan metode bruteforce pada akhirnya akan terpecahkan juga (meskipun kadang membutuhkan waktu yang sangat lama).

SSH Keys adalah kunci dua arah. SSH Keys bekerja menggunakan pasangan dari Public Key dan Private Key untuk bisa bekerja. Public Keys ibarat gembok yang yang kita gantungkan di pintu rumah dan Private Keys adalah kunci gembok tersebut. Jadi dalam hal ini secara singkat bisa di gambarkan bahwa Public Keys adalah kode yang kita letakkan di Server kita dan Private Key adalah kunci yang kita gunakan untuk membuka kode tersebut.

Kunci dan gembok ini terbuat dari enkripsi yang saling berhubungan, jadi tanpa salah satu dari kedua hal ini hampir mustahil untuk memecahkannya. Mekanisme ganda inilah yang menjadi alasan mengapa menggunakan SSH Keys jauh lebih aman daripada menggunakan password. Karena SSH Keys itu ibarat password yang terpassword

Cara Mudah Gunakan SSH Keys

Tertarik untuk menggunakan SSH Keys? Berikut adalah panduan step by step yang bisa dilakukan untuk menggunakan SSH Keys.

Menciptakan Public Dan Private Key

Untuk menciptakan “kunci dan gembok” ini, kita menggunakan software yang bernama PuTTYgen. Untuk menghasilkan Public dan Private Keys, berikut langkah-langkahnya.

1. Download dan Jalankan PuTTYGen

PuTTYgen bisa di download dari link berikut. Setelah selesai di download, double click PuTTYgen untuk mejalankannya.

2. Key Type

Untuk Key Type pilih SSH2-RSA yang menjadi standar umum yang banyak digunakan.

3. Number of bits in a generated key

Number of bits in a generated key adalah tingkat bit yang dihasilkan untuk mengenkripsi Keys / Kunci kita. Semakin tinggi angka ini maka, semakin tinggi pula tingkat kesulitan untuk men-crack key tersebut. Angka default pada PuTTYgen adalan 2048. Kita bisa merubahnya sesuai angka yang kita kehendaki. Tapi ingat juga bahwa semakin besar angka tersebut, waktu yang dibutuhkan untuk men-generate keys tersebut akan semakin lama.

4. Generate Keys

Setelah semua parameternya selesai diset, tekan tombol Generate untuk memulai proses pembuatan keys. Pada proses ini, kita akan diminta untuk menggerakkan kursor pada area yang de tengah PuTTYgen. Hal ini merupakan metode untuk menciptakan keunikan / randomisasi dari pebuatan keys.

Terus gerakkan kursor, sampai progress bar-nya berhenti. Setelah selesai, maka Public dan Private keys kita sudah selesai.

5. Extra Information

SSH Keys - dhavid.com 01

Sebelum meng-eksport data kita bisa mengisi beberapa kolom keterangan tambahan. Kolom ini bersifat optional dan tidak harus dirubah / dilakukan.

a. Key comment : berisi komen yang akan memudahkan kita mengidentifikasi keys tersebut. Hal ini berguna, jika kita memiliki banyak SSH Keys yang harus diatur.

b. Key passphrase & Confirm key passphrase : jika kita menginginkan keamanan tambahan, isi kolom ini. Kolom ini berguna untuk mengunci private keys kita. Jadi, ketika kita menggunakan SSH Keys, keamanan kita akan di confirm dengan menggunakan password untuk membuka private keys tesebut.

6. Export Keys

Private Keys : Untuk menyimpan Private Keys, klik Save Private Keys. Rename nama file nya sesuai keinginan kamu, kemudian tekan Save.

Public Keys : Untuk mengeksport Public Keys kita bisa menekan tombol Save Public Keys. Sayangnya PuTTYgen memiliki metode yang sedikit berbeda untuk exporting Public Keys ini. Hal ini kadang membuat public keys tidak bisa digunakan / error ketika digunakan dengan protokol OpenSSH standard. Untuk mengatasi nya kita bisa menyimpan secara manual Public Keys yang sudah di generate di Key Field PuTTYgen.

SSH Keys - dhavid.com 02

Cukup block kode pada kolom seperti diatas, copy lalu paste-kan kode tersebut kedalam Notepad atau Notepad++ dan save untuk menyimpan.

Upload Public Keys ke Server

Setelah SSH Keys kita telah terbuat. Langkah selanjutnya adalah mengupload Public Keys kita kedalam server. Ada beberapa cara yang bisa dilakukan, misalnya menggunakan FTP, cara lainnya adalah menggunakan SSH terminal. Yang kali ini akan kita gunakan adalah menggunakan SSH terminal.

1. Login Menggunakan SSH

Bagi pengguna OS X atau Linux, bisa langsung menggunakan terminal yang terintegrasi kedalam OS nya. Sedangkan untuk pengguna OS Windows bisa menggunakan beberapa software sebagai alternatif terminal, seperti PuTTY, KiTTY, atau MobaXterm.

2. Buat Folder SSH Keys

Buat folder untuk meletakkan Public Keys kita kedalam SSH. Kemudian buat file yang bernama “authorized_keys”. File ini merupakan file standard yang digunakan SSH untuk memanggil Public Keys.

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

3. Masukkan Public Key

Setelah file dan folder terbuat. Sekarang kita akan memasukkan kode Public Key kita kedalam file “authorized_keys”. Buka file tersebut menggunakan nano. Apabila belum terinstall, bisa di install menggunakan perintah :

apt-get install nano
nano ~/.ssh/authorized_keys

Sekarang kita copy – paste kan kode Public Keys yang kita simpan menggunakan Notepad atau Notepad++ diatas kedalam file authorized_keys di dalam terminal.

Untuk melakukan paste pada PuTTY kita cukup melakukan klik kanan pada terminal.

Setelah itu kita save dan exit menggunakan CTRL X + Y + Enter

4. Restart SSH

Pada Debian atau turunan-nya seperti Ubuntu, menggunakan perintah :

service ssh restart

Pada OS CentOS menggunakan perintah :

service sshd restart

Login Menggunakan SSH Keys

Setelah Public Key terupload, sekarang kita akan mencoba mengaksesnya menggunakan SSH. Dalam contoh kali ini kita akang menggunakan Software KiTTY yang merupakan Software yang dibangun berdasarkan PuTTY. KiTTY menawarkan berbagai macam fitur yang tidak ditawarkan PuTTY. Gampangnya, KiTTY itu versi ++ dari PuTTY 😀

1. Manage User ID

Buka KiTTY, load atau masukkan IP dari Linux Server / VPS kamu. Kemudian di kolom sebelah kiri, pada tab “Connection” pilih “Data”. Masukkan username dari VPS yang ingin kamu pakai. Dalam contoh ini adalah root.

2. Manage Private Key

Setelah itu pilih tab “SSH” kemudian “Auth”. Pada kolom Private Keys, pilih Browse dan masukkan Private Key yang tadi di eksport menggunakan PuTTYgen.

3. Login

The moment of truth #lebay. Sekarang kembali ke awal. Pilih tab “Session”, tekan “Save” untuk menyimpan setting. Tekan Start untuk Login ke dalam SSH Terminal kita. And whola! Login tanpa harus mengetik username dan password.

Note : Ketika kita memilih untuk mengisi kolom Key Passphrase pada saat membuat SSH keys di PuTTYgen, kita akan diminta untuk mengetikkan passphrase yang kita masukkan tadi.

Extras

Setelah berhasil login menggunakan SSH Keys kita, alangkah baiknya jika kita men-disable-kan login menggunakan username dan password. Langkah ini masuk akal karena, dengan SSH Keys, kita tidak membutuhkan username dan password lagi untuk login kedalam SSH.

Configurasi (pada OS Debian dan turunannya) untuk SSH berada pada folder /etc/ssh

nano /etc/ssh/sshd_config

Kemudian ubah parameter berikut :

PasswordAuthentication no

Hilangkan tanda pagar jika ada. Setelah itu, keluar dan save menggunakan CTRL X + Y + Enter

Kemudian restart SSH

service ssh restart

Namun, perlu di ingat bahwa kita perlu untuk selalu mendapatkan akses untuk menggunakan private keys kita. Setelah kita men-disable username dan password, kita harus menjaga baik-baik private keys kita supaya tidak hilang atau di akses oleh orang lain yang tidak berkepentingan.

~ Cara Mudah Gunakan SSH Keys

4 Comments

Leave a Reply