Cara membuat SSH key di Linux

By | September 22, 2018

Kunci SSH atau SSH keys di dasarnya yaitu 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.

Di panduan ini, kita akan memanfaatkan SSH key bagi masuk selaku administrator ke pada aplikasi server dengan menggunakan Linux. Skenarionya, SSH key ini akan berbeperan selaku pengganti password bagi user atau admin server. Ketika akses SSH, aplikasi akan mencocokkan private key yang terdapat di komputer lokal dengan public key yang terdapat di komputer server, jikalau cocok karenanya otomatis user dapat masuk ke pada aplikasi tanpa memasukkan password.

Merancang kunci SSH

Command 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

Kalau ada pertanyaan lagi, Enter saja

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

Dan hasil akhirnya jikalau 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 yaitu nama user, tentu ini berbeda dengan user di komputer sahabat.

Buka public key dengan petunjuk 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, selaku contoh saya gunakan sudo user, dengan nama user sulaiman yang telah saya buat sebelumnya, Jadi SSH key-nya akan digunakan bagi user sulaiman.

Catatan: Kamu dapat gunakan user root dan user lain dan meletakkan public key di user yang bersangkutan seperti langkah berikut ini.

ssh sulaiman@ip-server

Bikin folder .ssh, jikalau belum ada

mkdir  /.ssh

Mengubah perizinan atau CHMOD 700 folder ssh

chmod 700  /.ssh

Merancang file authorized_keys bagi 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

Kalau telah selesai, tutup koneksi

exit

Login menggunakan SSH key

Jadi kini kita telah punya sepasang kunci SSH yaitu, private key di komputer lokal, dan public key yang telah kita tanam di komputer server. Berikutnya seketika saja diuji coba.

ssh sulaiman@ip-server

Ketika pertama-tama kali menjalankan 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. Bagi akses berikutnya tak akan tampil notifikasi lagi, karena telah tercatat di file /.ssh/known_hosts

Selain bagi login dari komputer klien (lokal) pada hal ini Linux Desktop, prosedur ini pun dapat dipakai bagi komunikasi antar server (server-ke-server).

Troubleshooting

Kalau gagal (masih meminta password login), gunakan opsi -v (verbose mode) ssh. Verbose mode ini betul-betul menolong pada debugging koneksi, otentikasi, dan seputar masalah konfigurasi ssh. Contoh:

ssh -v sulaiman@ip-server

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


Sumber https://idnetter.com