Apa itu SSH? Ini Penjelasanya
SSH merupakan salah satu elemen penting yang memungkinkan jaringan atau komputermu aman setiap saat. Kamu sendiri pasti memiliki SSH ini.
Baca lebih


SSH merupakan salah satu elemen penting yang memungkinkan jaringan atau komputermu aman setiap saat. Kamu sendiri pasti memiliki SSH ini. Namun mungkin kamu tidak mengerti tentang apa itu SSH sesungguhnya. Well tidak usah khawatir karena di artikel ini kami akan membahas secara lebih lanjut tentang SSH ini.


SSH itu apa sih?

SSH, atau Secure Shell, merupakan protokol administrasi remote yang mengizinkan pengguna untuk mengontrol dan memodifikasi server remote mereka melalui internet. Layanan ini dibuat sebagai pengganti yang aman bagi Telnet yang tidak dienkripsi dan menggunakan teknik kriptografi untuk memastikan bahwa semua komunikasi yang masuk dan keluar dari server remote terjadi secara aman dan terenkripsi.

Lalu, layanan ini juga menyediakan mekanisme untuk mengautentikasi pengguna remote, mentranfer input dari klien ke host, dan mengirimkan hasilnya (output) kembali ke klien.

Siapa pun itu, baik pengguna Linux atau macOS bisa menggunakan SSH di dalam server remote mereka secara langsung dari jendela terminal. Pengguna Windows bisa memanfaatkan aplikasi SSH client, seperti Putty. Selain itu, kamu juga bisa menjalankan command shell dengan cara yang sama seperti jika kamu mengoperasikan komputer remote secara fisik.


Bagaimana cara kerja SSH?

Jika pada saat ini kamu menggunakan Linux atau Mac, maka bukan masalah yang sulit untuk menggunakan SSH. Bilamana kamu menggunakan Windows, maka kamu perlu memiliki SSH client untuk membuka koneksi SSH. SSH client yang paling banyak digunakan adalah PuTTY.

SSH command terdiri atas 3 bagian berbeda:

ssh {user}@{host}

Command SSH key memberi perintah ke pada sistem bahwa kamu ingin membuka Koneksi Secure Shell yang dienkripsi. {user} merujuk pada akun yang ingin diakses. Misalnya, kamu ingin mengakses pengguna root, yang pada dasarnya sama untuk administrator sistem dengan hak lengkap untuk modifikasi apa pun pada sistem. {host} merujuk pada komputer yang ingin diakses. Bisa jadi ini adalah alamat IP milikmu (misalnya, 244.235.23.19) atau nama domain (misalnya, www.qwertydomain.com).

Pada saat menekan tombol Enter, kamu akan diminta untuk memasukkan password untuk akun yang diminta. Ketika sedang mengetikkan password, kamu tidak akan melihat apa pun di layar. Padahal sebenarnya passwordmu sedang ditransmisikan. Setelah menginput password, tekan tombol Enter sekali lagi. Jika password yang kamu masukkan sudah benar, maka akan muncul jendela terminal remote.

 

Memahami Teknik Enkripsi yang Berbeda

Kelebihan berarti yang ditawarkan oleh SSH melalui predesesornya adalah penggunaan enkripsi untuk memastikan transfer informasi yang lebih aman antara host ke klien. Host menunjuk pada server remote yang ingin diakses, di sisi lain client merupakan komputer yang ingin kamu gunakan untuk dapat mengakses host. Ada tiga teknologi enkripsi berbeda yang bisa digunakan oleh SSH:

1.     Enkripsi simetris

2.     Enkripsi asimetris

3.     Hashing


Enkripsi Simetris

Enkripsi simetris adalah bentuk dari enkripsi di mana secret key digunakan baik untuk enkripsi maupun dekripsi pesan oleh klien dan juga oleh host. Secara efektif, setiap orang yang memiliki key dapat mendekripsi pesan yang sedang ditransfer.

Enkripsi simetris sering atau lebih akrab disebut enkripsi shared key atau shared secret. Biasanya hanya satu key yang digunakan, atau terkadang sepasang key di mana satu key tersebut dapat dikalkulasi dengan mudah menggunakan key yang lain.

Key simetris digunakan untuk mengenkripsi keseluruhan komunikasi selagi Sesi SSH. Baik klien maupun server memperoleh secret key menggunakan metode yang telah disetujui, dan resultant key tidak akan pernah diberitahukan kepada pihak ketiga mana pun.

Akan tetapi, yang paling penting perlu diketahui bahwa secret token khusus untuk setiap sesi SSH, dan sebelumnya dibuat untuk autentikasi klien. Setelah key selesai dibuat, semua paket yang dipindahkan di antara dua sistem tersebut harus dienkripsi dengan private key. Hal ini termasuk password yang diketik oleh pengguna, sehingga kredensi akan selalu terlindungi dari penganalisa paket jaringan yang bisa menghack websitemu.

 

Enkripsi Asimetris

Tidak seperti enkripsi simetris, enkripsi asimetris menggunakan dua key yang terpisah untuk enkripsi dan dekripsi. Kedua key ini dikenal sebagai public key dan private key. Secara bersama-sama, kedua key ini mencipatakan sepasang public-private key.

Public key, seperti namanya, secara terbuka didistribusikan dan dibagian ke semua pihak. Meskipun terkait erat dengan private key dal hal fungsionalitas, komputasi tidak dapat dilakukan pada private key dari public key. Hubungan di antara kedua key ini sangat rumit: sebuah pesan yang dienkripsi dengan sistem public key hanya dapat didekripsi oleh sistem yang sama milik private key. Hubungan satu arah ini mengindikasikan bahwa public key tidak dapat mendekripsi pesannya sendiri maupun mendekripsi apa pun yang telah dienkripsi oleh private key.

Private key harus tetap rahasia, contohnya untuk koneksi yang hendak diamankan sehingga tidak boleh ada pihak ketiga yang mengetahuinya. Kelebihan dari seluruh koneksi ini terletak pada fakta bahwa private key tidak pernah diizinkan untuk diketahui sebagaimana komponen itu merupakan satu-satunya komponen yang bisa mendekripsi pesan yang telah dienkripsi dengan menggunakan public key. Oleh karena itu, pihak mana pun dengan kemampuannya untuk mendekripsi pesan yang sudah diketahui secara publik harus memiliki private key yang cocok.

 

Hashing

Hashing satu arah (one-way) merupakan salah satu bentuk dari kriptografi yang digunakan di Koneksi Secure Shell. Fungsi one-way-hash berbeda dengan dua bentuk enkripsi yang telah disebutkan di atas dalam artian tidak dimaksudkan untuk didekripsi.

Fungsi dari one-way-hash adalah mecipatakan value unik dari panjang tetap untuk setiap input yang tidak menunjukkan trend jelas yang bisa dieksploitasi. Karena itulah fungsi-fungsi itu sangat tidak mungkin untuk dibalik.

Terbilang gampang untuk membuat hash kriptografi dari input yang diberi, tapi sangat tidak mungkin untuk membuat input dari hash tersebut. Hal ini berarti jika klien menyimpan input yang benar, maka ia bisa membuat hash kripto-grafis dan membandingkan value-nya untuk memastikan apakah klien tersebut memiliki input yang benar.

SSH menggunakan hash untuk memverifikasi keaslian pesan. Kita dapat melakukannya menggunakan HMAC, atau yang lebih dikenal dengan Hash-based Message Authentication Codes. Langkah ini untuk memastikan jika command yang diterima tidak dimanipulasi dengan cara apa pun.

Setiap pesan yang ditransmisi harus memiliki MAC, yang dihitung memakai key simetris, nomor urut paket, dan isi pesan. Pesan tersebut dikirim di luar data enkripsi simetris untuk bagian akhir dari paket komunikasi.