GHrxexUTk8Cy9ibyQ09EFsI4Tl8sPmI2qnpAKStw
Bookmark

Apa Itu Secure Shell (SSH)? Pengertian, Fungsi, Cara Kerja, dan Perbedaannya dengan Telnet

Dalam dunia administrasi server, keamanan merupakan aspek yang tidak dapat diabaikan. Administrator sistem, DevOps Engineer, Network Engineer, hingga praktisi Cyber Security hampir setiap hari melakukan akses ke server Linux maupun UNIX melalui jaringan lokal maupun Internet. Tanpa adanya mekanisme komunikasi yang aman, seluruh informasi yang dikirimkan, termasuk username, password, maupun data penting lainnya, berpotensi disadap oleh pihak yang tidak bertanggung jawab.

Untuk mengatasi permasalahan tersebut, dikembangkan sebuah protokol komunikasi yang mampu memberikan kerahasiaan, integritas, dan autentikasi selama proses pertukaran data berlangsung. Protokol tersebut dikenal dengan nama Secure Shell atau lebih populer disingkat SSH.

SSH merupakan standar komunikasi yang digunakan untuk mengakses server secara jarak jauh (remote access) melalui saluran komunikasi yang terenkripsi. Saat ini SSH telah menjadi protokol utama yang digunakan pada berbagai sistem operasi berbasis Linux, UNIX, BSD, bahkan tersedia pula pada Microsoft Windows.

Selain digunakan untuk login ke server, SSH juga mendukung berbagai fungsi lain seperti transfer file secara aman menggunakan SCP maupun SFTP, melakukan port forwarding, menjalankan perintah dari jarak jauh, hingga membangun tunnel terenkripsi untuk mengamankan lalu lintas jaringan.

Pada artikel ini kita akan membahas secara lengkap mengenai pengertian Secure Shell, sejarah perkembangannya, cara kerja SSH, manfaat, komponen utama, jenis autentikasi, perbedaan dengan Telnet, hingga pengenalan Secure Copy Protocol (SCP).


Apa Itu Secure Shell (SSH)?

Secure Shell (SSH) adalah sebuah protokol jaringan (network protocol) yang digunakan untuk membangun komunikasi yang aman antara dua perangkat melalui jaringan yang tidak aman, seperti Internet.

SSH menggunakan teknik enkripsi modern sehingga seluruh data yang dikirimkan akan diacak sebelum dikirim melalui jaringan. Dengan demikian, walaupun lalu lintas data berhasil disadap oleh pihak lain, isi komunikasi tetap tidak dapat dibaca tanpa memiliki kunci dekripsi yang sesuai.

Pada umumnya SSH digunakan untuk melakukan login ke server Linux secara remote menggunakan terminal, tetapi protokol ini juga mendukung berbagai layanan lainnya seperti transfer file, tunneling, remote command execution, hingga otomatisasi administrasi server.


Sejarah Singkat SSH

Sebelum SSH diperkenalkan, administrator jaringan umumnya menggunakan protokol seperti Telnet, rlogin, rsh, dan rexec untuk mengakses server dari jarak jauh.

Masalah utama dari protokol tersebut adalah seluruh informasi dikirimkan dalam bentuk plain text. Artinya, username, password, maupun seluruh perintah yang diketik dapat dibaca oleh siapa saja yang berhasil melakukan penyadapan jaringan (packet sniffing).

Untuk mengatasi kelemahan tersebut, SSH dikembangkan sebagai pengganti Telnet dengan menerapkan enkripsi pada seluruh komunikasi sehingga akses jarak jauh menjadi jauh lebih aman.


Mengapa SSH Sangat Penting?

Saat ini hampir seluruh server Linux yang terhubung ke Internet menggunakan SSH sebagai metode administrasi utama. Hal tersebut karena SSH mampu memberikan tiga prinsip utama keamanan informasi, yaitu:

  • Kerahasiaan (Confidentiality) melalui enkripsi data.
  • Integritas (Integrity) dengan memastikan data tidak berubah selama proses transmisi.
  • Autentikasi (Authentication) untuk memastikan identitas server maupun pengguna.

Ketiga prinsip tersebut membuat SSH menjadi salah satu protokol yang paling penting dalam dunia Cyber Security maupun administrasi sistem.


Bagaimana Cara Kerja SSH?

SSH bekerja menggunakan arsitektur client-server. Komputer yang akan diakses menjalankan layanan SSH Server, sedangkan administrator menggunakan aplikasi SSH Client untuk membangun koneksi.

Secara sederhana proses komunikasi SSH berlangsung melalui beberapa tahapan berikut.

  1. SSH Client menghubungi SSH Server.
  2. Kedua perangkat melakukan negosiasi algoritma enkripsi.
  3. Server mengirimkan public key kepada client.
  4. Client memverifikasi identitas server.
  5. Dibentuk session key yang digunakan selama komunikasi berlangsung.
  6. Seluruh data kemudian dikirimkan dalam bentuk terenkripsi.

Dengan mekanisme tersebut, komunikasi tetap aman meskipun melewati jaringan publik seperti Internet.


Arsitektur SSH

Implementasi SSH terdiri dari dua komponen utama.

SSH Server

SSH Server merupakan layanan yang berjalan pada komputer tujuan. Layanan ini bertugas menerima koneksi dari client, melakukan autentikasi pengguna, serta menyediakan akses ke sistem operasi.

Pada sistem Linux, layanan ini umumnya dijalankan menggunakan OpenSSH Server.


SSH Client

SSH Client merupakan aplikasi yang digunakan pengguna untuk terhubung ke SSH Server.

Beberapa aplikasi SSH Client yang populer antara lain:

  • OpenSSH.
  • PuTTY.
  • MobaXterm.
  • Bitvise SSH Client.
  • Windows Terminal.
  • Termius.

Versi SSH

Secara umum terdapat dua versi utama dari protokol SSH.

SSH-1

SSH versi pertama merupakan implementasi awal yang berhasil mengatasi kelemahan Telnet. Namun, seiring berkembangnya teknologi keamanan, ditemukan berbagai kelemahan kriptografi sehingga versi ini sudah tidak lagi direkomendasikan.


SSH-2

SSH-2 merupakan versi yang digunakan hampir di seluruh server modern saat ini. Versi ini menghadirkan peningkatan keamanan, dukungan algoritma kriptografi yang lebih kuat, autentikasi yang lebih baik, serta perlindungan terhadap berbagai jenis serangan yang ditemukan pada SSH-1.

Apabila Anda mengelola server Linux, pastikan hanya mengaktifkan SSH versi 2 untuk menjaga keamanan komunikasi.


Metode Autentikasi SSH

SSH menyediakan beberapa metode autentikasi yang dapat dipilih sesuai kebutuhan organisasi.

1. Password Authentication

Metode paling sederhana adalah menggunakan kombinasi username dan password. Setelah pengguna memasukkan kredensial yang benar, server akan memberikan akses sesuai hak yang dimiliki.

Meskipun mudah digunakan, autentikasi berbasis password memiliki risiko lebih tinggi terhadap serangan brute force apabila password yang digunakan lemah.


2. Public Key Authentication

Metode yang paling direkomendasikan adalah menggunakan pasangan public key dan private key.

Pada metode ini, pengguna menyimpan private key pada perangkat lokal, sedangkan public key ditempatkan pada server. Saat proses login berlangsung, server memverifikasi bahwa client memiliki pasangan kunci yang benar tanpa perlu mengirimkan password melalui jaringan.

Karena tingkat keamanannya lebih tinggi, metode ini menjadi standar pada banyak lingkungan produksi dan layanan cloud modern.


Kelebihan Menggunakan SSH

  • Komunikasi terenkripsi.
  • Login server lebih aman dibandingkan Telnet.
  • Mendukung autentikasi menggunakan SSH Key.
  • Dapat digunakan melalui jaringan Internet.
  • Mendukung transfer file secara aman.
  • Menyediakan fitur port forwarding dan tunneling.
  • Kompatibel dengan hampir seluruh distribusi Linux.
  • Menjadi standar administrasi server modern.

SSH vs Telnet: Apa Perbedaannya?

Sebelum Secure Shell (SSH) menjadi standar komunikasi jarak jauh, sebagian besar administrator sistem menggunakan Telnet untuk mengakses server. Namun, seiring meningkatnya ancaman keamanan siber, penggunaan Telnet mulai ditinggalkan karena memiliki banyak kelemahan dari sisi keamanan.

Perbedaan paling mendasar antara SSH dan Telnet terletak pada mekanisme perlindungan data. SSH menggunakan enkripsi untuk mengamankan seluruh komunikasi, sedangkan Telnet mengirimkan data dalam bentuk plain text sehingga mudah disadap oleh pihak yang tidak berwenang.

Aspek SSH Telnet
Keamanan Menggunakan enkripsi Tidak menggunakan enkripsi
Autentikasi Password dan SSH Key Username dan Password
Kerahasiaan Data Sangat tinggi Sangat rendah
Port Default 22 23
Integritas Data Terjamin Tidak terjamin
Direkomendasikan Ya Tidak

Karena alasan tersebut, hampir seluruh administrator sistem modern telah mengganti Telnet dengan SSH untuk melakukan administrasi server maupun perangkat jaringan.


Algoritma Kriptografi pada SSH

SSH menggabungkan beberapa teknik kriptografi untuk memastikan komunikasi tetap aman selama proses pertukaran data.

1. Enkripsi Simetris

Enkripsi simetris digunakan setelah proses autentikasi berhasil dilakukan. Pada tahap ini client dan server menggunakan session key yang sama untuk mengenkripsi seluruh komunikasi sehingga proses transfer data menjadi cepat sekaligus aman.


2. Enkripsi Asimetris

SSH juga menggunakan pasangan public key dan private key untuk melakukan autentikasi identitas server maupun pengguna.

Teknik ini memungkinkan proses login tanpa perlu mengirimkan password melalui jaringan.


3. Hash Function

Selain menjaga kerahasiaan data, SSH menggunakan fungsi hash untuk memastikan integritas data selama proses komunikasi berlangsung.

Dengan mekanisme ini, setiap perubahan data akibat manipulasi pihak ketiga dapat segera terdeteksi.


Port Default SSH

Secara bawaan, SSH menggunakan Port TCP 22.

Meskipun demikian, administrator dapat mengubah port tersebut menjadi nomor lain sebagai salah satu langkah untuk mengurangi upaya pemindaian otomatis (automated scanning) yang dilakukan oleh bot di Internet.

Perlu dipahami bahwa mengganti nomor port bukanlah pengganti mekanisme keamanan utama, melainkan hanya salah satu lapisan perlindungan tambahan.


Cara Menggunakan SSH

Pada sistem operasi Linux, macOS, maupun Windows modern, SSH dapat digunakan langsung melalui terminal.

Format dasar koneksi SSH adalah sebagai berikut.

ssh username@hostname

Sebagai contoh:

ssh admin@192.168.1.10

atau menggunakan nama domain:

ssh admin@example.com

Apabila server menggunakan port selain 22, nomor port dapat ditentukan menggunakan parameter -p.

ssh -p 2222 admin@example.com

Apa Itu Secure Copy Protocol (SCP)?

Selain digunakan untuk login ke server, protokol SSH juga mendukung proses transfer file yang aman melalui Secure Copy Protocol (SCP).

SCP merupakan protokol yang memungkinkan pengguna menyalin file maupun direktori antara komputer lokal dan server, ataupun antar server, menggunakan koneksi SSH yang telah terenkripsi.

Karena memanfaatkan mekanisme keamanan SSH, seluruh proses transfer file akan memperoleh perlindungan berupa enkripsi, autentikasi, dan pemeriksaan integritas data.


Bagaimana Cara Kerja SCP?

SCP bekerja dengan memanfaatkan koneksi SSH yang telah berhasil dibangun sebelumnya.

Ketika pengguna menjalankan perintah SCP, proses yang terjadi secara umum adalah sebagai berikut:

  1. Membangun koneksi SSH ke server tujuan.
  2. Melakukan autentikasi pengguna.
  3. Membuat saluran komunikasi terenkripsi.
  4. Mengirimkan file melalui koneksi tersebut.
  5. Memastikan transfer selesai tanpa perubahan data.

Karena menggunakan koneksi SSH, pengguna tidak perlu membuka layanan tambahan hanya untuk melakukan transfer file.


Contoh Perintah SCP

Mengirim File ke Server

scp laporan.pdf admin@192.168.1.10:/home/admin/

Mengunduh File dari Server

scp admin@192.168.1.10:/home/admin/laporan.pdf .

Mengirim Direktori

scp -r website admin@192.168.1.10:/var/www/

Parameter -r digunakan agar seluruh isi direktori dapat disalin secara rekursif.


SCP vs SFTP vs FTP

Banyak pengguna masih bingung membedakan ketiga metode transfer file ini. Berikut perbandingan sederhananya.

Fitur SCP SFTP FTP
Enkripsi Ya Ya Tidak
Menggunakan SSH Ya Ya Tidak
Transfer File Ya Ya Ya
Manajemen File Terbatas Lengkap Lengkap
Keamanan Sangat tinggi Sangat tinggi Rendah

SCP lebih cocok digunakan untuk proses penyalinan file yang sederhana dan cepat, sedangkan SFTP menyediakan fitur tambahan seperti membuat direktori, menghapus file, mengganti nama file, hingga melakukan navigasi direktori secara interaktif.


Best Practice Mengamankan SSH Server

Meskipun SSH merupakan protokol yang aman, konfigurasi yang kurang tepat tetap dapat dimanfaatkan oleh penyerang. Oleh karena itu, administrator disarankan menerapkan beberapa praktik terbaik berikut.

  • Gunakan SSH versi 2.
  • Aktifkan autentikasi menggunakan SSH Key.
  • Nonaktifkan login langsung sebagai root.
  • Gunakan password yang kuat apabila autentikasi password masih diaktifkan.
  • Batasi akses menggunakan firewall.
  • Ubah port default apabila diperlukan.
  • Gunakan Fail2Ban untuk memblokir percobaan brute force.
  • Selalu memperbarui OpenSSH ke versi terbaru.
  • Batasi pengguna yang diperbolehkan login menggunakan konfigurasi AllowUsers.
  • Pantau log autentikasi secara berkala.

Pertanyaan yang Sering Diajukan (FAQ)

Apa fungsi utama SSH?

SSH digunakan untuk mengakses server secara jarak jauh melalui koneksi yang aman dan terenkripsi.

Mengapa SSH lebih aman dibandingkan Telnet?

Karena seluruh komunikasi SSH menggunakan enkripsi sehingga username, password, maupun data lainnya tidak dikirimkan dalam bentuk plain text.

Apakah SCP sama dengan SFTP?

Tidak. Keduanya sama-sama menggunakan SSH, tetapi SFTP menyediakan fitur manajemen file yang lebih lengkap dibandingkan SCP.

Apakah SSH hanya digunakan pada Linux?

Tidak. SSH tersedia untuk Linux, UNIX, BSD, macOS, dan Microsoft Windows, sehingga dapat digunakan pada berbagai sistem operasi modern.


Kesimpulan

Secure Shell (SSH) merupakan protokol komunikasi yang dirancang untuk memberikan akses jarak jauh secara aman melalui mekanisme enkripsi, autentikasi, dan pemeriksaan integritas data. Dibandingkan dengan protokol lama seperti Telnet, SSH menawarkan tingkat keamanan yang jauh lebih tinggi sehingga menjadi standar dalam administrasi server modern.

Selain digunakan untuk mengelola server dari jarak jauh, SSH juga mendukung berbagai fitur penting seperti transfer file menggunakan Secure Copy Protocol (SCP), port forwarding, tunneling, serta autentikasi berbasis pasangan kunci publik dan privat. Dengan menerapkan konfigurasi yang tepat dan mengikuti praktik terbaik keamanan, SSH dapat menjadi fondasi yang kuat dalam menjaga keamanan infrastruktur server dan jaringan di lingkungan organisasi maupun kebutuhan pribadi.

0

Posting Komentar