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