Definisi SSH
SSH (Secure Shell) adalah protokol jaringan yang digunakan untuk menyediakan koneksi aman antara dua perangkat jaringan. Protokol ini digunakan untuk mengakses shell (terminal) pada sistem operasi berbasis Unix atau Linux dari jauh, atau untuk mentransfer file dengan protokol SFTP (SSH File Transfer Protocol).
SSH menggunakan enkripsi untuk menjaga keamanan koneksi dan menghindari serangan man-in-the-middle. Enkripsi digunakan untuk menyamarkan data yang dikirimkan sehingga hanya pihak yang memiliki kunci enkripsi yang dapat membaca data tersebut. SSH menggunakan dua jenis enkripsi yaitu enkripsi simetris dan enkripsi asimetris.
Enkripsi simetris digunakan untuk mengenkripsi data yang dikirimkan, dan kunci yang digunakan sama untuk mengenkripsi dan mendekripsi data. Sedangkan enkripsi asimetris digunakan untuk mengenkripsi kunci simetris yang digunakan untuk mengenkripsi data.
SSH juga menggunakan mekanisme autentikasi untuk memastikan bahwa hanya pihak yang sah yang dapat terhubung ke sistem. Autentikasi dapat dilakukan dengan menggunakan kata sandi atau kunci RSA atau DSA.
SSH digunakan dalam berbagai aplikasi seperti akses remote ke server, mengkonfigurasi perangkat jaringan, dan transfer file secara aman. SSH sangat bermanfaat untuk mengakses sistem dari jarak jauh dengan aman dan dapat digunakan dalam berbagai situasi seperti pengelolaan server, pengembangan perangkat lunak, dan administrasi jaringan.
Fungsi SSH
Fungsi utama dari SSH adalah untuk menyediakan koneksi aman antara dua perangkat jaringan. Berikut ini beberapa fungsi utama dari SSH:
- Akses remote: SSH memungkinkan Anda untuk mengakses shell (terminal) pada sistem operasi berbasis Unix atau Linux dari jauh. Ini berguna untuk mengelola server atau mengeksekusi perintah dari jarak jauh.
- Transfer file aman: SSH juga dapat digunakan untuk mentransfer file secara aman menggunakan protokol SFTP (SSH File Transfer Protocol).
- Enkripsi: SSH menggunakan enkripsi untuk menjaga keamanan koneksi dan menghindari serangan man-in-the-middle. Enkripsi digunakan untuk menyamarkan data yang dikirimkan sehingga hanya pihak yang memiliki kunci enkripsi yang dapat membaca data tersebut.
- Autentikasi: SSH menggunakan mekanisme autentikasi untuk memastikan bahwa hanya pihak yang sah yang dapat terhubung ke sistem. Autentikasi dapat dilakukan dengan menggunakan kata sandi atau kunci RSA atau DSA.
- Tunneling: SSH juga dapat digunakan untuk menyediakan koneksi aman untuk aplikasi lain melalui “tunneling”. Ini berguna untuk mengirimkan data yang tidak aman melalui jaringan yang aman.
- Konfigurasi perangkat jaringan: SSH dapat digunakan untuk mengkonfigurasi perangkat jaringan seperti router dan switch yang mendukung SSH.
Cara Kerja SSH
Cara kerja SSH adalah dengan menyediakan koneksi aman antara dua perangkat jaringan melalui proses enkripsi dan autentikasi. Berikut ini adalah cara kerja SSH secara detail:
- Koneksi dibuat: Sebuah perangkat yang ingin terhubung ke perangkat lain mengirimkan permintaan koneksi ke perangkat yang dituju.
- Autentikasi: Perangkat yang dituju mengecek identitas perangkat yang mengirimkan permintaan koneksi. Autentikasi dapat dilakukan dengan menggunakan kata sandi atau kunci RSA atau DSA.
- Negosiasi kunci: Setelah autentikasi berhasil, kedua perangkat akan melakukan negosiasi kunci. Kedua perangkat akan membuat kunci simetris yang akan digunakan untuk enkripsi data.
- Enkripsi: Setelah kunci simetris dibuat, data yang dikirimkan akan dienkripsi menggunakan kunci simetris ini.
- Transfer data: Data yang dienkripsi dapat dikirimkan dari perangkat yang mengirimkan permintaan koneksi ke perangkat yang dituju.
- Dekripsi: Data yang diterima akan didekripsi menggunakan kunci simetris yang sama yang digunakan untuk mengenkripsi data.
- Koneksi ditutup: Kedua perangkat akan menutup koneksi setelah transfer data selesai.
Secara umum, SSH menyediakan koneksi aman dengan mengenkripsi data yang dikirimkan dan memastikan hanya perangkat yang sah yang dapat terhubung ke sistem. Ini memungkinkan Anda untuk mengakses sistem dari jarak jauh dengan aman dan digunakan dalam berbagai situasi seperti pengelolaan server, pengembangan perangkat lunak, dan administrasi jaringan.
Jenis SSH
Terdapat dua jenis utama dari SSH yaitu SSH1 dan SSH2. Kedua jenis ini memiliki perbedaan dalam cara kerja dan keamanannya.
- SSH1: SSH1 adalah versi pertama dari SSH yang diperkenalkan pada tahun 1995. SSH1 menggunakan enkripsi simetris untuk mengenkripsi data dan menggunakan kunci RSA untuk autentikasi. Namun, SSH1 memiliki beberapa kelemahan keamanan seperti kerentanan terhadap serangan man-in-the-middle dan tidak memiliki dukungan untuk forward secrecy.
- SSH2: SSH2 adalah versi kedua dari SSH yang diperkenalkan pada tahun 1996. SSH2 menambahkan beberapa fitur keamanan seperti enkripsi asimetris, forward secrecy, dan dukungan untuk autentikasi dengan kunci DSA. SSH2 juga menyediakan dukungan untuk protokol SFTP (SSH File Transfer Protocol) dan SCP (Secure Copy Protocol).
Selain itu, ada juga implementasi dari SSH yang dikembangkan oleh pihak ketiga seperti OpenSSH, Dropbear, dan Bitvise SSH Server yang menyediakan fitur-fitur tambahan dan dapat digunakan untuk keperluan tertentu.
Sedangkan berdasarkan enkripsinya dalam SSH, terdapat dua jenis enkripsi yang digunakan, yaitu enkripsi simetris dan enkripsi asimetris.
- Enkripsi simetris: Enkripsi simetris digunakan untuk mengenkripsi data yang dikirimkan. Kedua perangkat yang terhubung akan membuat kunci simetris yang sama yang digunakan untuk mengenkripsi dan mendekripsi data. Algoritma enkripsi yang digunakan dalam SSH1 adalah IDEA, Blowfish, dan 3DES. SSH2 menambahkan algoritma enkripsi seperti AES, Camellia, dan ChaCha20.
- Enkripsi asimetris: Enkripsi asimetris digunakan untuk mengenkripsi kunci simetris yang digunakan untuk mengenkripsi data. Ini dilakukan agar kunci simetris tidak dapat dibaca oleh pihak yang tidak sah. SSH1 menggunakan RSA untuk enkripsi asimetris, sementara SSH2 menambahkan DSA (Digital Signature Algorithm) sebagai alternatif.
Enkripsi simetris digunakan untuk mengenkripsi data yang dikirimkan dan enkripsi asimetris digunakan untuk mengenkripsi kunci simetris yang digunakan untuk mengenkripsi data, sehingga memastikan data yang dikirimkan hanya dapat dibaca oleh pihak yang sah.