SSH key adalah sebuah akses terpercaya yang digunakan dalam protokol SSH (Secure Shell), yaitu protokol jaringan yang berfungsi untuk login dari satu komputer ke komputer lainnya dengan aman, serta untuk mengelola jaringan, sistem operasi, dan konfigurasi. Secara fungsional, SSH key hampir sama dengan kata sandi, tetapi lebih aman untuk login ke server dengan SSH key daripada hanya menggunakan kata sandi karena mendekripsi SSH sangatlah sulit, bahkan hampir tidak mungkin.
Jenis Kunci SSH
SSH key selalu berpasangan, dan masing-masing pasangan ini terdiri dari public key dan private key. Keduanya adalah jenis kunci.
Public key, juga dikenal sebagai authorized key, menentukan siapa yang dapat mengakses suatu sistem. Dapat dianalogikan sebagai pintu yang dapat dibuka oleh kunci pribadi yang sesuai.
Private key atau identity key mengidentifikasi pengguna dan memberi mereka akses, digunakan klien SSH untuk mengautentikasi dirinya sendiri saat login ke server SSH. Mereka analog dengan kunci fisik yang dapat membuka satu atau lebih pintu.
Ukuran Key yang Direkomendasikan
SSH key tersedia dalam berbagai ukuran, tetapi pilihan yang populer adalah enkripsi RSA 2048-bit, yang sebanding dengan sandi sepanjang 617 digit. Pada sistem Windows, dimungkinkan untuk membuat pasangan SSH key sendiri dengan mengunduh dan menggunakan klien SSH seperti Putty. Pada sistem Mac dan Linux, dimungkinkan untuk menghasilkan pasangan SSH key menggunakan terminal window.
Sebaiknya pilih ukuran key menurut NIST SP 800-57. Ukuran key default yang digunakan oleh ssh-keygen umumnya memiliki kekuatan yang dapat diterima. Faktanya, karena protokol tidak pernah mengungkapkan public key yang dapat diterima untuk otentikasi pengguna, algoritma yang digunakan untuk kunci tersebut tidak sepenting pada, misalnya, PKI Certificate.
Untuk RSA key, 2048 bit mungkin merupakan pilihan yang baik sampai dengan 5 tahun yang lalu. Namun, banyak kriptografer sekarang merekomendasikan untuk beralih ke ECDSA key dan berpendapat bahwa kemajuan dalam memfaktorkan bilangan bulat besar dapat membuat kunci RSA rentan dalam waktu dekat. Untuk ECDSA disarankan untuk menggunakan kunci 521 bit, meskipun kunci 384 atau bahkan 256 bit relatif aman. Tidak ada manfaat praktis dari menggunakan kunci yang lebih kecil.
Cara Membuat SSH Key
Diperlukan algoritma kriptografi untuk menghasilkan SSH key, sebagian besar yang digunakan adalah kunci RSA dan kunci DSA. SSH key dibuat dengan bantuan alat key generator.
Membuat SSH Key di Mac dan Linux
Karena kedua sistem operasi ini memiliki aplikasi terminal yang sudah dikombinasikan dengan paket SSH, langkah-langkah membuat SSH key adalah sama untuk keduanya.
Buka terminal window dan jalankan perintah berikut:
ssh-keygen -t rsa -b 2048
Kemudian tentukan lokasi dimana file tersebut disimpan
Generating public/private rsa key pair.
Enter file in which to save the key (/home/kambing/.ssh/id_rsa):
Bila diperlukan, tambahkan frasa sandi yang akan ditanyakan setiap kali kunci SSH digunakan.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Membuat SSH Key di Windows
Yang harus dilakukan adalah mendownload dan install aplikasi PuTTY. Untuk membuat SSH key gunakanlah aplikasi PuTTYgen. PuTTYgen ini sudah terinstall ketika menginstal PuTTY, biasanya ada di folder : C:\Program Files\PuTTY.
Jalankan program PuTTYgen dan kemudian:
- Pilih RSA pada
Type of key to generate
. - Kemudian isikan
Number of bits in a generated key
dengan nilai 2048 atau 4096. Ini menentukan kekuatan kuncinya agar tidak mudah disusupi menggunakan metode brute force. - Klik
Generate
, serta gerak-gerakkan mouse di bagian kotak tengah untuk membuat karakter acak sesuai gerakan mouse untuk menghasilkan pasangan file SSH key.
Setelah proses selesai, akan dihasilkan sepasang public key dan private key.
Key comment
digunakan untuk mengisikan teks, biasanya untuk memberikan keterangan mengenai fungsi dari key tersebut.
Key passphrase
tidak wajib diisi. Fungsinya setiap kali akan digunakan, maka key tersebut akan diberlakukan seperti password.
Klik Save public key
dan simpan dengan ekstensi .pub.
Juga klik Save private key
dan simpan dengan ekstensi .ppk. File inilah yang akan digunakan untuk login ke server.
Memasang Public Key ke Server
Lanjutkan ke tahap berikutnya yaitu menambahkan public key tadi. Login seperti biasa melalui SSH ke server. Kemudian edit file authorized_keys
vi ~/.ssh/authorized_keys
Copy teks dari kotak Public key for pasting into OpenSSH authorized_keys file
di aplikasi PuTTYgen, lalu salin ke dalam file authorized_keys dan simpan.
Lanjutkan dengan mengatur hak akses direktori dan file SSH:
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys
Konfigurasi PuTTY Menggunakan SSH key
Jalankan aplikasi PuTTY, kemudian buka Connection > SSH > Auth.
Pada kotak Private key file for authentication
, pilih file .ppk yang dibuat oleh PuTTYgen sebelumnya. Kemudian kembali ke bagian Session, lalu isikan data dari server yang akan digunakan, dan klik Save.
Lakukan pengujian dengan menekan Open untuk membuka koneksi ke server.