SSH merupakan singkatan dari Secure Shell. SSH merupakan sebuah protokol yang memungkinkan pengguna untuk mengontrol dan memodifikasi server secara remote. SSH ini biasa dipakai oleh administrator untuk mengelola sistem ataupun aplikasi tertentu dari jarak jauh. Jadi admin bisa masuk ke dalam komputer lewat jaringan, kemudian menjalankan berbagai perintah untuk memodifikasi ataupun mengelola file dari satu komputer ke komputer lainnya.
Apa itu SSH?
SSH merupakan sebuah protokol administrasi remote yang memperbolehkan pengguna untuk mengakses dan mengontrol server mereka dalam jaringan secara aman. Mulai dari menjalankan sebuah program, membuat folder, menghapus file, membuat file, transfer file, hingga menjalankan atau menghentikan sebuah services. Singkatnya, SSH memungkinkan pengguna untuk mengelola servernya dengan leluasa meskipun dari jarak jauh.
Baca juga: Cara Mengakses Virtual Machine melalui SSH
Perbedaan SSH dan Telnet
Sebelumnya dikenal istilah Telnet (TN). Telnet kemudian digantikan oleh SSH, protokol client-server yang bisa memberikan akses remote (jarak jauh) untuk mengakses komputer tertentu dalam sebuah jaringan. Bisa dibilang, Telnet dan SSH memiliki fungsi yang sama. Lalu, mengapa kini Telnet digantikan oleh SSH? Jawabannya karena persoalan keamanan. Protokol Telnet dianggap tidak aman karena proses komunikasi yang dilakukan berbasis teks tanpa enkripsi.
Berbeda dengan Telnet, SSH menggunakan teknik kriptografi untuk memastikan semua komunikasi yang masuk dan keluar dari server remote terenkripsi dengan beberapa teknologi seperti enkripsi simetris, enkripsi asimetris, dan hashing. Bahkan di dalamnya juga tersedia mekanisme untuk mengautentikasi pengguna, mentransfer input dari client ke host, dan mengirimkan hasilnya (output) kembali ke klien. Singkatnya, baik Telnet maupun SSH, keduanya merupakan protokol eksekusi jarak jauh. Hanya saja, SSH menggunakan enkripsi dan Telnet tidak menggunakan enkripsi. Ini sebabnya, SSH dapat menjadi alternatif yang lebih aman dibandingkan Telnet.
Fungsi dan Manfaat SSH
SSH memiliki beberapa fungsi krusial untuk mengelola lalu-lintas transfer data. Secara spesifik, berikut ini fungsi dan manfaat dari SSH:
- Mengamankan akses jarak jauh ke dalam sistem atau perangkat jaringan SSH-enabled bagi si pengguna serta memprosesnya otomatis.
- SSH akan memutus koneksi secara otomatis apabila ada aktivitas yang mencurigakan pada koneksi yang digunakan. Sehingga kamu dapat terhindar dari berbagai ancaman ancaman siber seperti spoofing IP dan DNS, manipulasi data, pelacakan ilegal, dan lain-lain.
- Melakukan transfer file otomatis dan aman.
- Meluncurkan perintah secara aman pada perangkat atau sistem jarak jauh.
- Melakukan manajemen komponen dari infrastruktur jaringan secara aman.
Cara Kerja SSH
Cara kerja protokol SSH adalah dengan menerapkan model client-server. Koneksi yang terjadi adalah SSH client (komputer yang digunakan pengguna) melakukan koneksi ke SSH server (server remote yang dituju).
Proses SSH dimulai dari client yang melakukan koneksi dan menggunakan kunci kriptografi (SSH Key) untuk memverifikasi dan mengidentifikasi SSH server. Terdapat 2 jenis SSH Key ketika menggunakan protokol SSH. Pertama adalah Public Key yang disimpan pada SSH server dan yang kedua adalah Private Key yang disimpan pada SSH client.
Ketika SSH client meminta koneksi ke SSH server, maka SSH server akan melakukan verifikasi dengan mengirimkan Public Key ke SSH client. Jika SSH client tidak memiliki pasangan kunci yang dikirimkan oleh SSH server, artinya kunci yang digunakan oleh SSH client tidak sama dengan SSH server dan koneksi tidak akan pernah dapat tersambung.
Sebaliknya, jika SSH client dan SSH server menggunakan kunci yang sama setelah melewati proses verifikasi dan otentikasi identitas, maka koneksi antara SSH client dan SSH server akan tersambung. Koneksi yang sudah tersambung akan di enkripsi menggunakan symmetric encryption dan hashing algorithm. Proses enkripsi ini dilakukan untuk memastikan kerahasiaan dan keamanan proses pertukaran data yang dilakukan antara client dengan server.
Perlu diketahui, aplikasi SSH client sudah terpasang secara otomatis pada terminal masing-masing sistem operasi berbasis Unix dan turunannya seperti Linux dan Macintosh. Sehingga, kamu dapat langsung mengimplementasikan protokol SSH hanya dengan menggunakan perintah “$ ssh username@alamat_server”. Sedangkan, bagi pengguna sistem operasi Windows, maka perlu menginstal aplikasi SSH terlebih dulu untuk membuka koneksi SSH. Contoh aplikasi SSH client yang biasa digunakan untuk sistem operasi Windows adalah PuTTY.
Baca juga: Cara Remote SSH ke Layanan Dedicated Hosting
Teknik Enkripsi yang Digunakan SSH
Seperti yang sudah disebutkan di atas, SSH menggunakan teknologi enkripsi untuk menjamin proses transfer informasi yang lebih aman antara server dan client. Server yang dimaksud di sini merupakan server remote yang ingin diakses, sedangkan client merupakan komputer yang digunakan untuk mengakses host. SSH sendiri menggunakan 3 teknologi enkripsi yang berbeda, yaitu:
1. Enkripsi simetris (Symmetric Encryption)
Enkripsi simetris atau yang lebih dikenal dengan sebutan enkripsi shared key atau shared secret merupakan bentuk enkripsi di mana key symmetric digunakan untuk mengenkripsi maupun mendeskripsi pesan oleh client maupun server. Teknik enkripsi yang satu ini menggunakan sepasang kunci, biasanya salah satu kunci berada di sisi server dan kunci lainnya berada di sisi client. Tujuannya agar server dapat mengenali client dengan tepat dan memungkinkan setiap client yang memiliki kunci untuk mengakses data/pesan.
Proses pembuatan key symmetric dilakukan oleh algoritma pertukaran kunci (Key Exchange Algorithm). Salah satu faktor yang membuat algoritma ini aman adalah key tersebut tidak ikut dipertukarkan antara client dan server selama proses pertukaran data berlangsung. Jadi uniknya di dalam Key Exchange Algorithm adalah proses enkripsi dan dekripsi berjalan di masing-masing perangkat (client maupun server).
Hal ini membuat proses pertukaran data jadi lebih eksklusif dan tidak dapat diakses oleh pihak ketiga yang ingin melakukan interupsi, mencuri atau mengakses proses pertukaran data yang sedang terjadi.
2. Enkripsi asimetris (Asymmetric Encryption)
Berbeda dengan enkripsi simetris yang menggunakan sepasang kunci pada client maupun server, jenis teknik enkripsi yang satu ini menggunakan dua kunci yang terpisah untuk enkripsi dan dekripsi yaitu public key dan private key.
Seperti namanya, public key akan dibagikan secara terbuka untuk semua client. Meski memiliki fungsi yang erat kaitannya dengan private key, dalam proses pertukaran data, proses enkripsi hanya bisa dilakukan oleh sepasang public key dan private key sehingga tidak bisa dilakukan dengan kunci yang berbeda. Public key sendiri hanya dapat mengenkripsi pesan.
Jadi hubungan yang terjadi bersifat satu arah, sehingga host (server atau client) yang mempunyai public key tidak dapat mendeskripsi pesannya sendiri ataupun mendeskripsi pesan yang telah dienkripsi oleh private key. Sedangkan, private key harus tetap bersifat private dan tidak diketahui oleh pihak lain karena private key merupakan satu-satunya komponen yang dapat mendekripsi pesan yang telah dienkripsi oleh public key.
Perlu diketahui, enkripsi asimetris tidak digunakan untuk mengenkripsi keseluruhan SSH. Enkripsi ini hanya digunakan saat Key Exchange Algorithm dari enkripsi simetris berlangsung. Sebelum mengaktifkan koneksi yang telah diamankan, baik client maupun server akan memiliki public key dan private key-nya masing-masing (public-private key pair) yang bersifat sementara dan menghasilkan shared secret key yang dimiliki oleh enkripsi simetris. Setelah jaringan komunikasi simetris berhasil dibuat, server akan menggunakan public key untuk mengirimkan verifikasi ke client untuk melakukan otentikasi. Jika client berhasil mendekripsi pesan, maka protokol SSH dapat dimulai.
3. Hashing
Hashing merupakan salah satu jenis kriptografi yang tidak dapat dienkripsi sehingga dikenal juga dengan istilah one-way-hash. Fungsi one-way-hash berbeda dengan dua jenis teknik enkripsi yang sudah disebutkan sebelumnya. One-way-hash akan membuat enkripsi yang panjang dengan value yang unik dan tidak memiliki pola yang jelas untuk dieksploitasi. Karena memiliki value yang panjang dan unik enkripsi yang dilakukan merupakan enkripsi satu arah dan tidak dapat didekripsi (dibalik). Sehingga, enkripsi ini akan mengamankan setiap data yang sedang dipertukarkan selama proses SSH berlangsung.
Perlu diketahui, one-way-hash ini tidak bisa dipakai di seluruh jenis pertukaran data. SSH hanya menggunakan enkripsi one-way-hash untuk mengecek keaslian dari pesan dan sejenisnya. Pengguna dapat melakukannya dengan menggunakan sistem pengecekan seperti HMAC (Hash-based Message Authentication Codes) untuk memastikan command atau perintah yang diterima tidak dapat dimanipulasi dengan cara apapun.
Misalnya salah satu layanan dari Biznet Gio yaitu NEO Virtual Compute. Secara default SSH yang dimiliki NVC tidak menggunakan password untuk mengaksesnya melainkan langsung dengan Public Key. Pelanggan yang menggunakan NEO Virtual Compute juga disarankan untuk allow SSH dari IP tertentu saja dan tetap hanya menggunakan public key tanpa password.
Dari penjelasan mengenai apa itu SSH dan juga cara kerjanya di atas, dapat ditarik kesimpulan bahwa SSH merupakan upgraded version yang lebih aman dari Telnet untuk mengelola, mengakses dan memberikan perintah pada server dari jarak jauh. Seluruh layanan Biznet Gio, mulai dari cloud server hingga dedicated server dapat diakses oleh user melalui SSH. Selain itu, layanan Biznet Gio juga telah dilengkapi dengan dukungan customer support yang responsif selama 24/7 serta telah mendapatkan sertifikasi keamanan terlengkap seperti SOC 2 Type II, PCI-DSS dan ISO 27001. Untuk registrasi, kamu bisa mengunjungi Portal Biznet Gio. Hubungi [email protected] untuk informasi lebih lanjut.