Secure Shel (SSH) adalah istilah yang sering digunakan untuk merujuk pada versi dari protokol SSH, contohnya SSH-1 dan SSH-2, termasuk OpenSSH. Meskipun sering dianggap sebagai varian SSH, sebenarnya ini adalah kumpulan alat jaringan berdasarkan protokol SSH. Protokol SSH berfungsi untuk menetapkan standar dalam menjalankan layanan jaringan yang aman di antara host yang tidak terpercaya di jaringan yang berisiko.
Komunikasi antara klien dan server melalui SSH dapat dienkripsi, menjadikannya pilihan yang sangat baik untuk penggunaan di jaringan yang rawan. Dulunya, istilah shell dalam SSH menunjuk pada perangkat lunak yang menangani perintah Unix. Namun, seiring perkembangan waktu, istilah ini semakin meluas untuk menggambarkan antarmuka pengguna server yang lebih mudah diakses untuk berinteraksi. Salah satu contoh antarmuka lain yang populer adalah Windows Command Prompt (cmd.exe), yang memungkinkan pengguna untuk mengakses alat dari sistem operasi Windows.
SSH bukanlah shell itu sendiri, seperti shell Unix Bourne atau shell C, melainkan SSH berfungsi untuk menciptakan saluran guna menjalankan shell pada komputer yang berada di lokasi terpencil. Hingga saat ini, SSH mengelola lebih dari setengah dari total server web di seluruh dunia, baik yang terletak di lokasi fisik maupun yang berbasis cloud.
Dalam praktiknya, SSH dimanfaatkan untuk mengamankan, mengkonfigurasi, mengelola, memelihara, dan mengoperasikan perangkat jaringan, termasuk server, router, firewall, sakelar, sistem operasi, dan aplikasi. Protokol SSH juga mencakup aspek otentikasi, enkripsi, dan integritas data, yang menjadikannya sangat terkenal hingga digunakan juga oleh Google.
Sejarah Singkat SSH (Secure Shell) Protocol
Awalnya dikembangkan tahun 1995 oleh seorang peneliti di Universitas Teknologi Helsinki, Tatu Ylonen yang membuat SSH membuat versi pertama dari protokol setelah jaringan universitas diretas dan pelanggaran terhadap ribuan nama pengguna dan kata sandi. Tujuan Ylonen adalah mengembangkan solusi yang dapat digunakan untuk login dari jarak jauh ke internet dengan aman.Pertama kali Ylonen menghabiskan waktu mempelajari kriptografi yang menjadi tulang punggung SSH.
Setelah mendapatkan standar SSH oleh Internet Engineering Task Force (IETF), Ylonen merancang SSH File Transfer Protocol (SFTP) dan kemudian mendirikan SSH Communications Security Corporation untuk memberikan dukungan komersial untuk versi berbayar SSH. Dirancang untuk menggantikan Telnet (port 23) dan FTP (port 21), Tatu Ylonen bisa mendapatkan SSH yang dialokasikan ke port 22 oleh Internet Assigned Numbers Authority (IANA).
Manfaat Penggunaan SSH (Secure Shell)
Umum digunakan di seluruh pusat data saat ini, SSH sudah termasuk secara otomatis pada semua server Unix, Linux, dan Mac. Koneksi SSH telah dimanfaatkan untuk melindungi berbagai bentuk komunikasi antara mesin lokal dan host yang berada jauh, termasuk akses jarak jauh yang aman terhadap sumber daya, pelaksanaan perintah dari jarak jauh, pengiriman pembaruan perangkat lunak, dan tugas administratif atau manajemen lainnya.
Selain menciptakan saluran yang aman antara komputer lokal dan yang jauh, SSH juga digunakan untuk mengelola router, perangkat keras server, platform virtualisasi, sistem operasi, serta dalam manajemen sistem dan aplikasi transfer file. Secure Shell difungsikan untuk menghubungkan ke server, melakukan perubahan, mengunggah dan keluar, baik melalui alat atau langsung dari terminal. Kunci SSH dapat digunakan untuk otomatisasi akses ke server dan seringkali dimanfaatkan dalam skrip, sistem pencadangan, serta alat manajemen konfigurasi.
Didesain untuk kemudahan dan berfungsi melintasi batas-batas organisasi, kunci SSH memungkinkan sistem masuk satu kali sehingga pengguna dapat beralih antara akun mereka tanpa perlu memasukkan kata sandi berulang kali. Dengan memainkan peran penting dalam manajemen identitas serta pengelolaan akses, SSH melakukan lebih dari sekadar mengotentikasi melalui koneksi yang terenkripsi. Semua lalu lintas SSH dilindungi dengan enkripsi, baik saat pengguna mentransfer file, menjelajah internet, ataupun menjalankan perintah dan tindakan pribadi.
Walaupun memungkinkan untuk menggunakan ID pengguna dan kata sandi standar sebagai kredensial, SSH lebih sering menggunakan pasangan kunci publik untuk mengautentikasi satu sama lain. Pengguna sendiri tetap perlu menggunakan ID dan kata sandi mereka atau metode otentikasi lain untuk terhubung ke host yang jauh itu, tetapi mesin lokal dan mesin jauh melakukan proses otentikasi secara terpisah.
Ini bisa dilakukan dengan memproduksi pasangan kunci publik yang unik untuk setiap host dalam komunikasi. Sesi tunggal membutuhkan dua pasangan kunci publik, yang pertama untuk mengautentikasi mesin jauh terhadap mesin lokal dan yang kedua untuk mengautentikasi mesin lokal terhadap mesin jauh. Fungsi-fungsi yang dapat diaktifkan oleh SSH meliputi:
- Untuk menjamin akses remote yang aman terhadap sistem atau perangkat jaringan yang mendukung SSH bagi pengguna dan juga proses otomatisasi.
- Melaksanakan sesi transfer file yang aman dan bersifat interaktif.
- Melakukan transfer file secara otomatis dan aman.
- Menjalankan perintah yang aman pada perangkat atau sistem yang terhubung jarak jauh serta mengelola dengan aman komponen infrastruktur jaringan.
Mengenal Fitur Dasar SSH (Secure Shell)
Secure Shell, yang juga dikenal sebagai Secure Socket Shell (SSH) merupakan sebuah protokol jaringan yang menyediakan metode aman bagi pengguna, terutama bagi administrator sistem, untuk mengakses komputer melalui jaringan yang kurang aman.
Berikut adalah beberapa fitur penting dari SSH :
- Enkripsi SSH
Salah satu manfaat utama yang dimiliki SSH jika dibandingkan dengan opsi lain adalah penggunaan enkripsi. SSH melindungi semua data yang dikirim antara klien dan server selama proses transmisi. Siapapun yang mencoba mengintip atau melakukan penyadapan terhadap lalu lintas, seperti dengan menggunakan alat packet-sniffing, tidak akan dapat mengakses atau memahami informasi yang dikirim.
SSH menggunakan tiga jenis metode enkripsi : enkripsi simetris, enkripsi asimetris, dan hashing.
- SSHD
Untuk dapat melakukan koneksi SSH, komputer dilokasi yang jauh perlu menjalankan daemon SSH (SSHD) yaitu sebuah program yang bertugas untuk menerima permohonan koneksi, umumnya melalui port 22, memverifikasi permohonan koneksi tersebut dan memulai hubungan.
- RFC
SSH diatur oleh berbagai publikasi Request For Comments (RFC), dimana RFC bertujuan untuk mendeskripsikan standar, protokol, dan teknologi yang berkaitan dengan internet, termasuk SSH. Misalnya, terdapat dokumen standar untuk semua lapisan SSH, algoritma kriptografi yang digunakan dalam SSH, dan sertifikasi keamanan terkait SSH.
Terdapat pula RFC yang menetapkan bahwa lapisan transportasi SSH harus mendukung kerahasiaan yang sesuai dengan Perfect Forward Secrecy (PFS). PFS memastikan bahwa jika kunci privat server terkompromi, penyerang tidak dapat mengakses data yang telah dikirimkan sebelumnya.
- Tunneling dan penerusan port
SSH memiliki kemampuan untuk mendukung penerusan port dan tunneling, dimana istilah port forwarding dan tunneling seringkali dipakai secara bergantian. Namun tunneling merupakan istilah yang lebih luas yang merujuk pada tiga tipe penerusan port seperti : penerusan port lokal, penerusan port jarak jauh, dan penerusan port dinamis.
- X11
SSH memungkinkan untuk meneruskan X11, yang berguna saat seseorang perlu terhubung ke server yang jauh sambil memerlukan GUI bagi aplikasi yang sedang dijalankan atau data. Penerusan X11 memungkinkan pengguna untuk menjalankan aplikasi di jarak jauh dan mengirim hasilnya ke komputer lokal dengan sistem Windows.
- SSH Layer/lapisan
SSH terdiri dari tiga lapisan utama, yaitu transport, autentikasi pengguna, dan lapisan koneksi. Lapisan transport bertanggung jawab atas proses enkripsi dan dekripsi data yang dipertukarkan, dan juga dapat melakukan autentikasi pada server sambil menjamin kerahasiaan serta integritas informasi.
Sementara lapisan autentikasi pengguna berfungsi untuk memverifikasi identitas klien. Selanjutnya, lapisan koneksi mengatur saluran yang menghubungkan data antara pihak-pihak yang telah diautentikasi dalam proses pertukaran data. terdapat saluran atau aliran data untuk berbagai jenis komunikasi, contohnya, koneksi sekaligus ke terminal atau layanan jarak jauh lainnya, atau sesi X11 yang sedang diteruskan.
Kesimpulan
SSH pertama kali diperkenalkan pada pertengahan tahun 90-an sebagai pengganti Telnet, yaitu protokol lapisan aplikasi yang mentransfer informasi tanpa enkripsi. Tanpa adanya enkripsi, data melintas di internet dalam format teks biasa. Siapa pun yang memiliki alat pemantau paket di antara Anda dan komputer jarak jauh dapat mengintip semua data yang Anda kirim dan semua aktivitas yang Anda lakukan.
SSH, atau Secure Shell, adalah protokol jaringan yang memungkinkan satu komputer terhubung dengan aman ke komputer lainnya melalui jaringan yang tidak aman, seperti internet, dengan adanya kesepakatan yang sama mengenai metode komunikasi. Sebagai protokol lapisan aplikasi, yang merupakan lapisan ketujuh dari model OSI, SSH sangat berguna karena memungkinkan pengendalian server dari jarak jauh tanpa memerlukan akses fisik ke komputer lain.