Cara membuat SSH key di Linux

Kunci SSH atau SSH keys pada dasarnya adalah dua file yang masing-masing dari file itu di dalamnya memegang kunci enkripsi, satu publik (public key) dan kunci pribadi (private key). Hanya kunci pribadi yang mampu men-dekripsikan pesan atau file yang dienkripsi dengan kunci publik, dan sebaliknya.

Pada tutorial ini, kita akan memanfaatkan SSH key untuk masuk sebagai administrator ke dalam sistem server berbasis Linux. Skenarionya, SSH key ini akan berbeperan sebagai pengganti password untuk user atau admin server. Ketika akses SSH, sistem akan mencocokkan private key yang ada di komputer lokal dengan public key yang ada di komputer server, jika cocok maka otomatis user bisa masuk ke dalam sistem tanpa memasukkan password.

Membuat kunci SSH

Perintah ini akan meng-generate pasangan kunci, yaitu private dan public key.

ssh-keygen -t rsa

Hasilnya seperti berikut

Generating public/private rsa key pair.
Enter file in which to save the key (/home/omar/.ssh/id_rsa): Enter saja

Jika ada pertanyaan lagi, Enter saja

Enter passphrase (empty for no passphrase): Enter saja
Enter same passphrase again: Enter saja

Dan hasil akhirnya jika berhasil kira-kira seperti ini

Your identification has been saved in /home/omar/.ssh/id_rsa.
Your public key has been saved in /home/omar/.ssh/id_rsa.pub.

The key fingerprint is:
SHA256:kaa+BfhUSnbyLS5XOWrYTJIkx20TCE/LMtosapuh4VQ omar@idnetter.com
The key's randomart image is:
+---[RSA 2048]----+
|.o.o..           |
|.O+++    .       |
|B.@.... +        |
|.X + = o .       |
|+ XE+ o S        |
|o+oB..           |
|o=+  ..          |
|=.+   ..         |
|.+   ..          |
+----[SHA256]-----+

Keterangan:

  • Public key disimpan di /home/omar/.ssh/id_rsa.pub
  • Private key disimpan di /home/omar/.ssh/id_rsa
  • omar adalah nama user, tentu ini berbeda dengan user di komputer anda.

Buka public key dengan perintah cat

cat /home/omar/.ssh/id_rsa.pub

Isinya seperti ini

ssh-rsa AAAAB3Nza2C1yc2EAAAADAQABAAASBAQDt2cH7gc3hMIdmEDjMnPhJNUxupF72BKs8z7FiBp65TCm/5NgWIwoXM6wXrrWHz0bJnyWBpBu83AS1Y0SIKCtzOpL8ybtnzMYj/WMtuvWlAqBSDnRlx9U0p6iKonV8Yl0KzvQwhd6VktjfqUHtcWGGrm/bOWM4ixm/qSLtgCYD3w2R7mHd/jFz4SKyadZEndpzdKMgb4UATENVLN7OpsNuxQvwVDeHG18CJ60qJjVIvCL9LUcWZJaF913LS0C7cXDXliof2L1o0JA8UzrI2xIrITqRdxlWjGuhYaKMYWHySBC/XqJWKD0dwWHUTj+i/z5WW5nN0cqYmB2dBT9Mz+8L omar@idnetter.com

Salin isi dari id_rsa.pub tersebut, nanti akan kita pasang di server target.

Menginstall SSH key di server

Akses SSH ke server dengan akun root atau sudoer, sebagai contoh saya pakai sudo user, dengan nama user sulaiman yang sudah saya buat sebelumnya, Jadi SSH key-nya akan digunakan untuk user sulaiman.

Catatan: Anda bisa pakai user root dan user lain dan meletakkan public key pada user yang bersangkutan seperti langkah berikut ini.

ssh sulaiman@ip-server

Buat folder .ssh, jika belum ada

mkdir ~/.ssh

Mengubah perizinan atau CHMOD 700 folder ssh

chmod 700 ~/.ssh

Membuat file authorized_keys untuk menyimpan public key

nano ~/.ssh/authorized_keys

Paste public key (isi dari id_rsa.pub) tadi, lalu simpan, dan jangan lupa CHMOD 600

chmod 600 ~/.ssh/authorized_keys

Jika sudah selesai, tutup koneksi

exit

Login menggunakan SSH key

Jadi sekarang kita sudah punya sepasang kunci SSH yaitu, private key di komputer lokal, dan public key yang sudah kita tanam di komputer server. Berikutnya langsung saja diuji coba.

ssh sulaiman@ip-server

Saat pertama kali melakukan koneksi SSH ke server akan tampil seperti ini

The authenticity of host '192.01.01.02 (192.01.01.02)' can't be established.
ECDSA key fingerprint is SHA256:oyaSCGz5kKoOhboCsiKnckBs7HXmiSC6YBeUtfVaPKeQ4.
Are you sure you want to continue connecting (yes/no)? yes

Jawab yes dan tekan Enter. Untuk akses berikutnya tidak akan tampil notifikasi lagi, karena sudah tercatat di file ~/.ssh/known_hosts

Selain untuk login dari komputer klien (lokal) dalam hal ini Linux Desktop, prosedur ini juga bisa diterapkan untuk komunikasi antar server (server-ke-server).

Troubleshooting

Jika gagal (masih meminta password login), gunakan opsi -v (verbose mode) ssh. Verbose mode ini sangat membantu dalam debugging koneksi, otentikasi, dan seputar masalah konfigurasi ssh. Contoh:

ssh -v sulaiman@ip-server

Selesai, selamat mencoba kawan. Oh iya, jika ada kesalahan, mohon dikoreksi.

Leave a Reply

Your email address will not be published. Required fields are marked *