SSH adalah singkatan dari Secure Shell, yaitu protokol jaringan untuk mengakses dan mengelola komputer atau server dari jarak jauh secara aman. SSH mengenkripsi data yang dikirimkan antara perangkat pengguna dan server, sehingga username, password, perintah, serta data lain tidak mudah dibaca saat melintas di jaringan.
Sederhananya, SSH memungkinkan administrator, developer, atau pemilik website “masuk” ke server tanpa perlu berada di dekat mesin fisiknya. Dari terminal, pengguna dapat menjalankan perintah, mengatur file, memperbarui aplikasi, hingga mengecek kondisi server.
SSH menjadi standar penting karena menggantikan metode akses lama seperti Telnet. Berbeda dari Telnet yang mengirimkan data sebagai teks biasa, SSH melindungi komunikasi dengan enkripsi dan autentikasi.
Apa Itu SSH?
SSH adalah protokol client-server. Artinya, ada dua pihak yang terlibat:
- SSH client, yaitu perangkat atau aplikasi yang digunakan untuk terhubung.
- SSH server, yaitu komputer atau server tujuan yang menerima koneksi.
Saat koneksi berhasil dibuat, pengguna memperoleh akses ke command line pada server. Pengalaman ini mirip memakai terminal langsung di depan server, tetapi dilakukan melalui jaringan yang terenkripsi.
Port standar SSH adalah port 22. Namun, administrator dapat mengubahnya sesuai kebutuhan konfigurasi jaringan dan kebijakan keamanan.

Mengapa SSH Penting?
Akses server jarak jauh selalu melibatkan risiko. Jika informasi login dan perintah dikirim tanpa perlindungan, pihak lain di jaringan dapat mencegat atau membaca data tersebut.
FTP dan Telnet klasik adalah contoh protokol lama yang berisiko jika digunakan tanpa lapisan keamanan tambahan. FTP standar mengirimkan kredensial dan data dalam bentuk plaintext, sedangkan Telnet juga mengirimkan sesi akses tanpa enkripsi.
SSH hadir untuk mengatasi masalah tersebut. Protokol ini menjaga tiga hal utama:
| Aspek keamanan | Peran SSH |
|---|---|
| Kerahasiaan | Mengenkripsi isi komunikasi agar tidak mudah disadap |
| Integritas | Membantu mendeteksi perubahan data selama pengiriman |
| Autentikasi | Memverifikasi identitas server dan pengguna yang terhubung |
Dengan demikian, SSH cocok digunakan pada jaringan publik, koneksi internet, lingkungan kerja jarak jauh, maupun pengelolaan infrastruktur cloud.
Cara Kerja SSH Secara Sederhana
Proses SSH terlihat sederhana bagi pengguna, tetapi di baliknya terdapat beberapa tahap perlindungan keamanan.
1. Client Menghubungi Server
Pengguna membuka aplikasi SSH, lalu memasukkan alamat server atau nama domain. Contoh perintah dasarnya di Linux, macOS, dan Windows modern adalah:
ssh username@alamat-server
Misalnya:
Perintah tersebut meminta client untuk mencoba terhubung ke akun admin pada server dengan alamat IP 192.168.1.10.
2. Client Memeriksa Identitas Server
Server akan memperkenalkan identitasnya melalui host key. Client perlu memeriksa apakah identitas tersebut sesuai dengan server yang memang ingin diakses.
Inilah alasan munculnya peringatan saat pertama kali terhubung ke server baru. Pengguna sebaiknya memverifikasi fingerprint server melalui kanal tepercaya sebelum menyetujui koneksi.
3. Koneksi Terenkripsi Dibuat
Client dan server kemudian menyepakati mekanisme pertukaran kunci serta algoritma keamanan untuk sesi tersebut. Setelah itu, data sesi dilindungi dengan enkripsi simetris yang efisien.
SSH juga memakai mekanisme integritas data, seperti message authentication code atau MAC, untuk membantu memastikan data tidak diubah saat transit.
4. Pengguna Melakukan Autentikasi
Setelah kanal aman aktif, server meminta pengguna membuktikan identitasnya. Metode yang umum digunakan meliputi:
- Password.
- Pasangan public key dan private key.
- Multi-factor authentication atau MFA, jika server mendukungnya.
Autentikasi berbasis SSH key lebih sesuai untuk penggunaan profesional dan otomatisasi, karena kunci privat tetap disimpan pengguna sementara kunci publik ditempatkan di server.
Jenis Enkripsi yang Digunakan SSH
SSH tidak hanya memakai satu teknologi keamanan. Protokol ini menggabungkan beberapa konsep kriptografi agar koneksi terlindungi secara menyeluruh.
Enkripsi Simetris
Enkripsi simetris memakai kunci sesi bersama untuk mengenkripsi dan mendekripsi data. Metode ini digunakan saat sesi SSH sudah berjalan karena lebih cepat untuk mengamankan lalu lintas data dalam jumlah besar.
Contoh algoritma yang dapat digunakan SSH modern mencakup AES dan ChaCha20.
Kriptografi Asimetris
Kriptografi asimetris memakai dua kunci yang saling berpasangan:
- Public key, boleh ditempatkan pada server atau dibagikan.
- Private key, harus dirahasiakan dan disimpan aman oleh pemiliknya.
Teknik ini membantu proses autentikasi dan pertukaran kunci tanpa harus mengirimkan rahasia utama secara terbuka di jaringan.
Hashing dan Pemeriksaan Integritas
Hashing bukan proses untuk membuka kembali data asli. Dalam SSH, fungsi hash dan MAC digunakan untuk membantu memastikan isi komunikasi tidak berubah atau dimanipulasi selama pengiriman.
Fungsi SSH yang Paling Umum
SSH bukan hanya alat untuk login ke server. Protokol ini mendukung sejumlah kebutuhan administrasi sistem dan pengembangan aplikasi.
Mengelola Server dari Jarak Jauh
Ini adalah fungsi utama SSH. Administrator dapat masuk ke server Linux, Unix, perangkat jaringan, atau mesin lain yang mendukung SSH.
Beberapa aktivitas yang umum dilakukan antara lain:
- Mengecek kapasitas penyimpanan dan penggunaan memori.
- Melihat log aplikasi atau sistem.
- Memulai dan menghentikan layanan.
- Menginstal pembaruan perangkat lunak.
- Mengubah konfigurasi server.
- Menjalankan perintah pemeliharaan.
SSH banyak digunakan untuk administrasi server web, database, aplikasi, router, dan perangkat jaringan lainnya.
Menjalankan Perintah Tanpa Login Interaktif
SSH juga dapat menjalankan satu perintah di server dari perangkat lokal. Contohnya:
ssh admin@server-contoh “uptime”
Perintah tersebut meminta server menjalankan uptime, lalu menampilkan hasilnya pada terminal lokal.
Fitur ini sangat berguna untuk otomasi operasional, pemeriksaan sistem, dan tugas terjadwal.
Transfer File dengan SFTP dan SCP
SSH mendukung transfer file aman melalui SFTP dan SCP.
- SFTP adalah protokol transfer file yang berjalan melalui SSH.
- SCP adalah utilitas untuk menyalin file secara aman antarmesin.
SFTP mengenkripsi perintah, kredensial, dan file yang ditransfer. Protokol ini memakai satu kanal SSH, umumnya pada port 22, sehingga lebih mudah dikelola melalui firewall dibanding FTP klasik yang memiliki kanal kontrol dan data terpisah.
Contoh salin file dengan SCP:
scp laporan.txt admin@server-contoh:/home/admin/
Untuk membuka sesi transfer file SFTP:
sftp admin@server-contoh
Membuat SSH Tunneling atau Port Forwarding
SSH dapat meneruskan trafik aplikasi melalui koneksi terenkripsi. Kemampuan ini dikenal sebagai SSH tunneling atau port forwarding.
Contohnya, aplikasi lokal dapat terhubung ke port lokal tertentu. SSH lalu meneruskan koneksi tersebut secara terenkripsi menuju layanan internal di sisi server.
Fitur ini berguna untuk:
- Mengakses layanan internal secara aman.
- Melindungi aplikasi lama yang belum mendukung enkripsi.
- Menghubungkan alat administrasi ke database yang tidak dibuka ke internet.
- Membuat akses sementara untuk kebutuhan teknis.
Namun, tunneling harus dikendalikan melalui kebijakan server. Jika dibiarkan bebas, fitur ini berpotensi disalahgunakan untuk menyembunyikan lalu lintas atau membuat jalur akses tidak sah.

Perbedaan SSH, Telnet, FTP, dan SFTP
Banyak orang mengira SSH sama dengan SFTP atau FTP. Padahal, masing-masing memiliki fungsi dan tingkat keamanan yang berbeda.
| Protokol | Fungsi utama | Enkripsi bawaan | Port umum | Rekomendasi penggunaan |
|---|---|---|---|---|
| SSH | Akses terminal dan eksekusi perintah jarak jauh | Ya | 22 | Administrasi server |
| Telnet | Akses terminal jarak jauh | Tidak | 23 | Hanya perangkat lama pada jaringan terisolasi |
| FTP | Transfer file | Tidak | 21 dan kanal data | Hindari untuk data atau jaringan sensitif |
| SFTP | Transfer file aman melalui SSH | Ya | 22 | Transfer file, backup, dan otomasi |
Telnet dan FTP standar mengirimkan informasi dalam bentuk teks biasa. Kredensial FTP bahkan dapat terlihat melalui penyadapan lalu lintas jaringan, sebagaimana demonstrasi pengambilan paket jaringan pada layanan FTP.
Karena itu, penggunaan modern sebaiknya memakai SSH untuk akses terminal dan SFTP untuk transfer file.
SSH vs SFTP: Apakah Sama?
SSH dan SFTP berkaitan erat, tetapi keduanya bukan hal yang sama.
SSH adalah protokol dan kanal aman untuk akses jarak jauh, eksekusi perintah, autentikasi, serta tunneling. SFTP adalah protokol khusus untuk mengelola dan memindahkan file melalui koneksi SSH.
Bayangkan SSH sebagai jalur aman, sedangkan SFTP adalah salah satu layanan yang berjalan di jalur tersebut.
Jika tujuan Anda adalah mengelola server melalui terminal, gunakan SSH. Jika tujuan utamanya mengunggah atau mengunduh file dengan aman, gunakan SFTP.
Contoh Penggunaan SSH dalam Kehidupan Nyata
SSH digunakan di banyak aktivitas teknis sehari-hari, termasuk oleh pemilik website dan tim IT.
Mengelola Website dan Hosting
Pemilik website dapat memakai SSH untuk:
- Menginstal dependensi aplikasi.
- Menjalankan pembaruan CMS atau framework.
- Memeriksa error log.
- Mengatur izin file dan direktori.
- Menjalankan perintah backup.
- Memindahkan file melalui SFTP.
Akses ini sangat berguna pada VPS, cloud server, dan dedicated server.
Deployment Aplikasi
Developer sering memakai SSH untuk masuk ke server produksi atau staging. Dari sana, mereka dapat mengambil pembaruan kode, menjalankan migrasi database, atau me-restart layanan aplikasi.
SSH key juga lazim dipakai dalam pipeline otomatisasi karena proses autentikasi dapat dilakukan tanpa menyimpan password dalam skrip.
Backup Otomatis
SFTP dan SCP dapat digunakan untuk memindahkan cadangan data ke server lain. Dengan konfigurasi hak akses terbatas, akun khusus backup tidak perlu memiliki akses penuh ke seluruh sistem.
Administrasi Perangkat Jaringan
Router, switch, firewall, dan perangkat IoT tertentu mendukung SSH. Administrator dapat mengubah konfigurasi dan memantau kondisi perangkat dari jarak jauh secara lebih aman daripada Telnet.
Cara Menggunakan SSH untuk Pemula
Berikut alur dasar untuk mulai menggunakan SSH.
Siapkan Informasi Akses
Anda biasanya membutuhkan:
- Alamat IP server atau nama domain.
- Username server.
- Password atau file private key.
- Nomor port SSH jika tidak memakai port 22.
Informasi tersebut umumnya tersedia di dashboard hosting, email penyedia layanan, atau diberikan oleh administrator sistem.
Hubungkan ke Server
Di Linux, macOS, atau Windows yang telah memiliki OpenSSH, jalankan:
ssh username@alamat-server
Jika port berbeda, gunakan opsi -p:
ssh -p 2222 username@alamat-server
Jika memakai private key, gunakan opsi -i:
ssh -i ~/.ssh/id_ed25519 username@alamat-server
Saat pertama kali mengakses server, periksa fingerprint host key. Jangan langsung menerima peringatan tersebut bila Anda tidak yakin identitas servernya benar.
Akhiri Sesi dengan Benar
Untuk keluar dari server, gunakan:
exit
Atau tekan Ctrl + D.
Cara Membuat SSH Key
SSH key terdiri dari private key dan public key. Private key tetap berada di perangkat Anda, sedangkan public key ditambahkan ke server.
Contoh membuat SSH key modern dengan algoritma Ed25519:
ssh-keygen -t ed25519 -C “[email protected]”
Perintah tersebut biasanya menghasilkan dua file:
id_ed25519sebagai private key.id_ed25519.pubsebagai public key.
Jangan pernah membagikan private key. Simpan private key dengan aman, gunakan passphrase, dan batasi akses file tersebut hanya untuk pemiliknya.
Public key kemudian dapat ditempatkan pada file ~/.ssh/authorized_keys milik akun pengguna di server. Setelah key-based authentication diuji, autentikasi password dapat dinonaktifkan untuk mengurangi risiko serangan tebakan password.
Tips Keamanan SSH yang Wajib Diterapkan
SSH sangat aman jika dikonfigurasi dan dikelola dengan benar. Namun, enkripsi saja tidak cukup jika akun, server, atau key dibiarkan tanpa pengawasan.
Gunakan SSH Key, Bukan Hanya Password
Autentikasi public key lebih kuat untuk penggunaan rutin dan otomatisasi. Password tetap dapat digunakan sebagai cadangan, tetapi sebaiknya bukan satu-satunya perlindungan.
Lindungi Private Key
Private key adalah bukti identitas Anda. Jika dicuri, pihak lain dapat mencoba mengakses server yang mempercayai key tersebut.
Gunakan passphrase, penyimpanan aman, dan jangan mengirim file private key melalui chat, email, atau repositori kode.
Nonaktifkan Login Root Langsung
Gunakan akun pengguna biasa untuk login. Setelah itu, gunakan sudo hanya untuk tugas administratif yang diperlukan.
Pendekatan ini membantu membatasi dampak jika satu akun disalahgunakan.
Batasi Pengguna dan Alamat IP
Batasi siapa yang boleh mengakses SSH. Bila memungkinkan, gunakan IP allowlisting, kelompok pengguna khusus, atau akses melalui VPN maupun bastion host.
Pembatasan ini mengurangi peluang serangan dari internet terbuka.
Aktifkan MFA Bila Tersedia
MFA menambahkan lapisan verifikasi di luar password atau key. Ini sangat bermanfaat untuk akses administratif bernilai tinggi.
Perbarui OpenSSH dan Sistem Operasi
Kerentanan perangkat lunak dapat muncul dari waktu ke waktu. Pembaruan rutin pada OpenSSH dan sistem operasi merupakan bagian penting dari keamanan server.
Kelola SSH Key Secara Berkala
Key lama, key milik mantan anggota tim, atau key yang tidak diketahui asalnya harus dicabut. Key SSH yang tidak dikelola dapat menjadi risiko serius karena dapat memberi akses langsung ke server dan sistem penting.
Kendalikan SSH Tunneling
Port forwarding sangat berguna, tetapi tidak selalu perlu untuk semua pengguna. Administrator dapat membatasi atau menonaktifkan forwarding pada akun tertentu untuk mengurangi risiko jalur akses tersembunyi dan eksfiltrasi data.
Kesalahan Umum Saat Menggunakan SSH
Beberapa kesalahan berikut sering membuat akses SSH menjadi berisiko.
- Menggunakan password lemah atau password yang sama di banyak layanan.
- Membagikan private key kepada rekan kerja.
- Menyimpan private key dalam repositori Git.
- Mengabaikan peringatan perubahan host key.
- Membuka akses SSH untuk semua akun tanpa pembatasan.
- Membiarkan akun mantan karyawan atau key lama tetap aktif.
- Mengaktifkan akses root langsung dari internet.
- Menggunakan Telnet atau FTP standar untuk kebutuhan yang seharusnya memakai SSH dan SFTP.
Keamanan SSH bukan hanya soal memakai port 22. Keamanan bergantung pada identitas pengguna, konfigurasi server, pengelolaan key, serta pemantauan akses.
FAQ Seputar SSH
Apakah SSH aman?
SSH dirancang untuk menyediakan koneksi terenkripsi, autentikasi, dan perlindungan integritas data. Namun, tingkat keamanan akhirnya bergantung pada konfigurasi, kekuatan autentikasi, perlindungan private key, serta pembaruan sistem yang dilakukan.
Apa perbedaan SSH dan VPN?
SSH biasanya dipakai untuk mengakses server tertentu, menjalankan perintah, transfer file, atau membuat tunnel untuk layanan tertentu. VPN menciptakan koneksi jaringan privat yang lebih luas, sehingga perangkat pengguna dapat mengakses sumber daya jaringan sesuai kebijakan akses.
Keduanya dapat digunakan bersama, tetapi memiliki fungsi yang berbeda.
Apakah SSH hanya untuk Linux?
Tidak. SSH tersedia untuk Linux, macOS, Windows, serta banyak perangkat jaringan. OpenSSH juga sudah menjadi pilihan umum untuk koneksi SSH di berbagai sistem operasi.
Apakah port SSH harus selalu 22?
Tidak. Port 22 adalah port default SSH, tetapi server dapat memakai port lain. Mengubah port dapat mengurangi trafik pemindaian otomatis sederhana, tetapi bukan pengganti autentikasi kuat, MFA, dan pembatasan akses.
Apakah SFTP sama dengan FTPS?
Tidak. SFTP berjalan di atas SSH, sedangkan FTPS adalah FTP yang ditambahkan TLS/SSL. Keduanya dapat menyediakan enkripsi, tetapi arsitektur dan kebutuhan konfigurasi firewallnya berbeda. SFTP umumnya menggunakan satu koneksi SSH, sedangkan FTPS tetap mengikuti pola FTP dengan pengelolaan kanal yang lebih kompleks.
Kesimpulan
SSH adalah protokol penting untuk mengakses dan mengelola server dari jarak jauh dengan aman. Melalui enkripsi, autentikasi, dan pemeriksaan integritas data, SSH melindungi komunikasi yang sebelumnya rentan jika dilakukan memakai Telnet atau FTP standar.
Bagi pemula, manfaat SSH paling mudah dipahami melalui tiga hal: login ke server lewat terminal, menjalankan perintah jarak jauh, dan mentransfer file secara aman menggunakan SFTP atau SCP.
Gunakan SSH key, lindungi private key, batasi akses, aktifkan MFA bila tersedia, serta kelola key secara rutin. Dengan langkah tersebut, SSH menjadi fondasi yang kuat untuk administrasi server, deployment aplikasi, backup, dan pengelolaan infrastruktur modern.


















