SSH Adalah: Fungsi, Cara Kerja, dan Cara Menggunakannya
SSH adalah protokol yang digunakan untuk mengakses dan mengelola server dari jarak jauh melalui koneksi terenkripsi. Dengan SSH, kamu dapat menjalankan perintah, memeriksa konfigurasi, mengelola file, hingga melakukan administrasi server tanpa harus berinteraksi langsung dengan perangkat fisiknya.
Kemampuan tersebut membuat SSH banyak digunakan ketika mengelola hosting, server Linux, dan Cloud VPS yang berada di lokasi berbeda. Artikel ini akan membahas pengertian SSH, fungsi, cara kerja, mekanisme keamanannya, serta cara menggunakan SSH untuk pemula.
Apa Itu SSH (Secure Shell)?
Secure Shell atau SSH adalah protokol jaringan untuk melakukan remote login dan menjalankan layanan jaringan secara aman melalui jaringan yang tidak tepercaya. Berdasarkan RFC 4253, SSH menyediakan enkripsi, autentikasi server, dan perlindungan integritas untuk komunikasi antara client dan server.
SSH menggunakan arsitektur client-server, sehingga perangkat yang kamu gunakan bertindak sebagai SSH Client dan server tujuan menjalankan SSH Server. Setelah koneksi dan autentikasi berhasil, aktivitas yang dapat dilakukan tetap bergantung pada hak akses akun yang digunakan pada server tersebut.
Melalui SSH, administrator dapat menjalankan perintah Linux, memeriksa direktori, mengubah konfigurasi, menjalankan atau menghentikan layanan, serta melakukan instalasi software. SSH juga dapat digunakan sebagai jalur aman untuk beberapa kebutuhan lain seperti port forwarding serta transfer file melalui SFTP atau SCP.

Perlukah Menggunakan SSH?
SSH menjadi penting ketika kamu perlu mengelola server dari lokasi yang berbeda tanpa menggunakan akses fisik ke mesin tersebut. Misalnya, server dapat berada di data center Jakarta atau lokasi lainnya, sementara kamu tetap dapat melakukan administrasi melalui komputer pribadi yang terhubung ke internet.
Pengelolaan melalui SSH umumnya menggunakan command line sehingga kamu perlu memahami perintah dasar sistem operasi yang digunakan pada server. Pendekatan ini memberikan fleksibilitas yang lebih luas dibandingkan antarmuka grafis karena administrator dapat mengakses berbagai konfigurasi sistem sesuai permission akun.
Jika kamu ingin mempraktikkan pengelolaan server melalui SSH dan membutuhkan lingkungan server dengan kontrol yang lebih luas, kamu dapat melihat pilihan Cloud VPS DomaiNesia. Kamu dapat menyesuaikan resource server berdasarkan kebutuhan aplikasi dan tingkat pengelolaan yang diperlukan.

Apa Itu SSH Client?
SSH Client adalah aplikasi atau program yang digunakan dari perangkat lokal untuk membuat koneksi menuju SSH Server. Program tersebut menangani proses koneksi, verifikasi server, autentikasi pengguna, dan komunikasi terenkripsi selama sesi SSH berlangsung.
Pada Linux dan macOS, OpenSSH biasanya dapat digunakan langsung melalui aplikasi Terminal. Windows 10 dan Windows 11 modern juga menyediakan OpenSSH Client, sehingga pengguna dapat menjalankan perintah ssh melalui Windows Terminal, Command Prompt, atau PowerShell apabila fitur tersebut tersedia dan telah diaktifkan.
PuTTY tetap dapat digunakan sebagai alternatif SSH Client pada Windows, terutama jika kamu lebih nyaman menggunakan aplikasi dengan antarmuka tersendiri. Kamu dapat mengikuti panduan akses SSH melalui Terminal Linux dan PuTTY untuk memahami proses koneksinya.
Baca Juga: Enkripsi Adalah Teknik Mengamankan Data, Yuk Cari Tahu Contohnya!
Fungsi dan Manfaat SSH
SSH tidak hanya berfungsi untuk membuka terminal server dari jarak jauh, tetapi juga mendukung berbagai kebutuhan administrasi sistem. Berikut beberapa fungsi SSH yang umum digunakan ketika mengelola server.
1. Mengakses Server dari Jarak Jauh
Fungsi utama SSH adalah memberikan akses remote ke server atau komputer lain melalui jaringan. System administrator dapat menggunakan koneksi tersebut untuk mengelola server tanpa harus berada di lokasi fisik perangkat.
2. Melindungi Komunikasi dengan Enkripsi
SSH mengenkripsi lalu lintas antara client dan server agar data tidak mudah dibaca oleh pihak lain yang memantau jaringan. Perlindungan ini sangat penting ketika informasi autentikasi, perintah, dan data administrasi dikirimkan melalui koneksi jaringan.
3. Mendukung Autentikasi Pengguna
SSH menyediakan beberapa metode autentikasi untuk memastikan bahwa pengguna memiliki izin sebelum mengakses server. Administrator dapat menggunakan password atau autentikasi berbasis public key dan private key sesuai konfigurasi keamanan server.
4. Membuat SSH Tunneling
SSH dapat melakukan port forwarding atau tunneling untuk meneruskan koneksi jaringan melalui kanal SSH. Mekanisme ini dapat digunakan ketika aplikasi tertentu, seperti database, perlu diakses melalui jalur SSH yang telah dikonfigurasi.
Salah satu penerapannya adalah mengakses database MySQL dari perangkat lain melalui SSH Tunnel. Kamu dapat membaca panduan Cara Remote MySQL melalui SSH Tunneling dengan HeidiSQL untuk melihat contoh penerapannya.
5. Mengelola Konfigurasi Server
System administrator dapat menggunakan SSH untuk mengatur konfigurasi, memasang software, melakukan pembaruan, dan menjalankan berbagai perintah administrasi. Hak yang tersedia tetap mengikuti permission akun yang digunakan ketika melakukan login ke server.
6. Menyediakan Shell Jarak Jauh yang Aman
SSH menyediakan sesi shell yang memungkinkan pengguna berinteraksi dengan sistem operasi server dari perangkat lain. Seluruh komunikasi pada sesi tersebut dilewatkan melalui koneksi SSH yang dilindungi sesuai algoritma yang dinegosiasikan oleh client dan server.
7. Mendukung Transfer File dan Otomatisasi
SSH juga menjadi fondasi berbagai workflow administrasi seperti transfer file menggunakan SFTP atau SCP, deployment aplikasi, dan otomatisasi server. Fleksibilitas tersebut membuat SSH menjadi salah satu protokol yang umum digunakan dalam pengelolaan infrastruktur berbasis Linux.
Kelola server secara fleksibel melalui SSH
Butuh Cloud VPS untuk Praktik dan Deployment?
Cloud VPS Turbo DomaiNesia memberikan akses root sehingga kamu dapat mengatur sistem operasi, menginstal software, dan melakukan konfigurasi server sesuai kebutuhan. Pilih resource Cloud VPS yang sesuai dengan aplikasi dan kemampuan pengelolaan server kamu.
Cara Kerja SSH
Cara kerja SSH dimulai ketika SSH Client meminta koneksi menuju SSH Server pada alamat dan port yang ditentukan. Server kemudian memperkenalkan identitasnya melalui host key agar client dapat memverifikasi bahwa koneksi ditujukan ke server yang benar.
Client dan server selanjutnya melakukan proses key exchange untuk menyepakati parameter keamanan serta menghasilkan kunci sesi. Kunci sesi tersebut digunakan untuk melindungi komunikasi selama koneksi SSH berlangsung tanpa harus mengirimkan kunci sesi secara terbuka melalui jaringan.
Setelah kanal aman terbentuk, server meminta pengguna melakukan autentikasi sesuai metode yang diizinkan. Pengguna dapat menggunakan password, public key, atau metode autentikasi lain yang didukung oleh konfigurasi SSH Server.
Jika autentikasi berhasil, server memberikan sesi sesuai permission akun pengguna. Pengguna kemudian dapat membuka shell, menjalankan perintah tertentu, melakukan port forwarding, atau menggunakan subsystem seperti SFTP apabila layanan tersebut diperbolehkan.
Komunikasi berikutnya berlangsung melalui kanal yang telah dilindungi oleh algoritma yang disepakati client dan server. Ketika pengguna keluar dari sesi atau koneksi terputus, SSH akan mengakhiri kanal komunikasi tersebut.
SSH Server biasanya juga dapat mencatat informasi seperti percobaan login, autentikasi berhasil atau gagal, serta detail koneksi sesuai konfigurasi logging sistem. Log tersebut dapat membantu administrator melakukan pemantauan dan investigasi ketika terjadi masalah keamanan atau konektivitas.
Mekanisme Kriptografi pada SSH
Keamanan SSH tidak bergantung pada satu jenis enkripsi saja karena protokol ini menggunakan beberapa mekanisme kriptografi dengan fungsi yang berbeda. Mekanisme tersebut mencakup key exchange, enkripsi simetris, autentikasi berbasis public key, serta algoritma untuk menjaga integritas data.
1. Enkripsi Simetris (Symmetric Encryption)
Enkripsi simetris menggunakan kunci sesi untuk mengenkripsi dan mendekripsi data selama komunikasi berlangsung. Metode ini sesuai untuk melindungi lalu lintas SSH karena prosesnya relatif cepat dan efisien ketika digunakan untuk pertukaran data dalam jumlah besar.
Kunci sesi tidak digunakan sebagai password yang dibagikan secara manual antara pengguna dan server. Client dan server memperoleh secret yang diperlukan melalui proses key exchange ketika koneksi SSH dibentuk.
2. Kriptografi Public Key
Kriptografi public key menggunakan pasangan public key dan private key yang mempunyai fungsi saling berkaitan. Dalam SSH, mekanisme public key dapat digunakan untuk berbagai kebutuhan seperti autentikasi host, key exchange tertentu, dan autentikasi pengguna.
Pada autentikasi pengguna berbasis SSH Key, public key disimpan pada server sedangkan private key tetap disimpan pada perangkat pengguna. Private key tidak perlu dikirimkan ke server ketika pengguna membuktikan bahwa dirinya memiliki key yang sesuai.
3. Hashing dan Integritas Data
Hashing bukan merupakan proses enkripsi karena nilai hash tidak dirancang untuk dikembalikan menjadi data asli melalui proses dekripsi. Dalam protokol SSH, fungsi hash digunakan sebagai bagian dari berbagai proses kriptografi, termasuk key exchange dan mekanisme perlindungan integritas.
Perlindungan integritas membantu client dan server mendeteksi apabila data berubah selama perjalanan melalui jaringan. Implementasi SSH modern dapat menggunakan mekanisme autentikasi pesan atau algoritma authenticated encryption sesuai algoritma yang dinegosiasikan pada koneksi tersebut.
Mengakses SSH untuk Remote Cloud VPS
Salah satu penggunaan SSH yang paling umum adalah melakukan remote Cloud VPS dari komputer pribadi. Sebelum terhubung, kamu perlu mengetahui alamat IP atau hostname server, username yang digunakan, serta metode autentikasi yang telah dikonfigurasi.
Pengguna Linux dan macOS dapat menjalankan SSH melalui Terminal, sedangkan pengguna Windows dapat menggunakan OpenSSH Client atau aplikasi seperti PuTTY. Kamu dapat mengikuti Panduan Akses SSH Melalui Terminal Linux dan PuTTY apabila membutuhkan langkah yang lebih terperinci.
Jika kamu ingin mempelajari proses koneksi langsung ke VPS, DomaiNesia juga menyediakan panduan cara akses VPS via SSH Terminal untuk pemula. Panduan tersebut dapat membantu kamu memahami tahapan koneksi sebelum mulai melakukan administrasi server.
Baca Juga: Cara Install Ubuntu di Cloud VPS
Cara Menggunakan SSH untuk Pemula
Pemula sebaiknya tidak hanya memahami cara membuka koneksi SSH, tetapi juga mempelajari beberapa konfigurasi dasar yang berkaitan dengan keamanan dan autentikasi. Beberapa langkah berikut dapat menjadi dasar ketika kamu mulai mengelola Cloud VPS melalui SSH.
Cara Install SSH Keys di Cloud VPS
SSH Key memungkinkan pengguna melakukan autentikasi menggunakan pasangan public key dan private key. Metode ini dapat mengurangi ketergantungan pada password apabila server telah dikonfigurasi untuk menerima autentikasi public key.
Private key harus tetap disimpan dengan aman pada perangkat pengguna, sedangkan public key dapat ditambahkan ke akun yang digunakan pada server. Kamu dapat mengikuti panduan Cara Membuat SSH Keys di Cloud VPS untuk melihat tahapan konfigurasinya.
Baca Juga: Cara Menggunakan SSH Keys di Hosting
Cara Mengganti Port SSH di Cloud VPS
SSH Server umumnya menggunakan port 22 sebagai port standar, tetapi administrator dapat mengubah port tersebut melalui konfigurasi server. Mengganti port dapat mengurangi sebagian pemindaian otomatis yang hanya menargetkan port default, tetapi perubahan port tidak menggantikan mekanisme keamanan utama seperti SSH Key, firewall, pembatasan akses, dan pembaruan sistem.
Sebelum mengganti port, kamu perlu memastikan bahwa port baru diizinkan pada firewall agar koneksi SSH berikutnya tidak terblokir. Kamu dapat mengikuti panduan Cara Mengganti Port SSH di Cloud VPS untuk melihat langkah konfigurasi yang diperlukan.
Jika keamanan SSH perlu ditingkatkan lebih lanjut, kamu juga dapat melakukan penyesuaian pada autentikasi, akses pengguna, dan konfigurasi SSH Server. Panduan hardening SSH untuk meningkatkan keamanan dapat digunakan sebagai referensi lanjutan setelah akses dasar sudah berjalan.
Cara Mengatasi Remote Host Identification Has Changed pada SSH
Pesan WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! muncul ketika host key yang diberikan server berbeda dengan host key yang sebelumnya tersimpan pada perangkat client. Perubahan tersebut dapat terjadi setelah reinstall sistem operasi, perubahan server, atau perubahan SSH host key.
Kondisi tersebut tidak sebaiknya langsung diabaikan karena SSH menggunakan host key untuk membantu memverifikasi identitas server. Kamu perlu memastikan bahwa perubahan memang diharapkan sebelum menghapus atau memperbarui entry pada file known_hosts.
Jika perubahan terjadi setelah proses reinstall atau perubahan server yang kamu lakukan sendiri, kamu dapat mengikuti panduan Cara Mengatasi Remote Host Identification Has Changed pada SSH. Pemeriksaan tersebut membantu kamu memperbarui host key dengan lebih aman setelah penyebab perubahannya diketahui.
Masalah koneksi SSH juga dapat muncul dalam bentuk lain, misalnya layanan SSH tidak berjalan, firewall memblokir port, atau alamat server tidak dapat dijangkau. Jika kamu mendapatkan pesan connection refused, panduan mengatasi error SSH Connection Refused dapat membantu kamu memeriksa penyebabnya.
Kesimpulan
SSH adalah protokol penting untuk melakukan remote login dan administrasi server melalui koneksi yang terlindungi. Protokol ini memungkinkan pengguna menjalankan perintah, mengelola konfigurasi, melakukan tunneling, mentransfer file, dan mengakses berbagai layanan server sesuai permission yang diberikan.
Pemula sebaiknya memahami perintah Linux, SSH Key, verifikasi host key, serta konfigurasi keamanan sebelum melakukan perubahan penting pada server. Kamu dapat mulai dengan mempelajari 10 perintah Linux yang perlu diketahui agar penggunaan SSH untuk administrasi server menjadi lebih mudah.
terima kasih atas informasinya, artikel nya sangat membantu
wah cocok nih buat referensi kedepannya.