Dasar SSH: Cara Login ke Server Jarak Jauh dengan Aman

SSH adalah cara kamu menjangkau server yang ada di tempat lain dan menjalankan perintah di sana seolah-olah kamu duduk di depannya. Pelajari SSH itu apa, bagaimana koneksinya bekerja, beda password dan key, serta perintah sehari-hari yang benar-benar kamu pakai — dijelaskan dari nol.

Diterbitkan 24 September 202610 menit bacaOleh ACY Partner Indonesia
Dasar SSH — login ke server jarak jauh secara aman lewat koneksi terenkripsi
300 × 250Slot Iklan TersediaPasang iklan Anda di sini

Pada satu titik, website atau aplikasi yang kamu bangun bakal pindah dari laptopmu ke server sungguhan — mesin yang selalu online, nangkring di sebuah data center yang mungkin tidak akan pernah kamu lihat. Dari situ muncul pertanyaan yang wajar: kalau kamu tidak bisa duduk di depannya, gimana caranya kamu mengendalikan mesin itu? Gimana kamu memasang software, mengedit berkas, me-restart sesuatu, dan mengecek apa yang barusan rusak?

Jawabannya, hampir selalu, adalah SSH. Inilah tool yang membuat kamu bisa membuka terminal di komputer yang jaraknya ribuan kilometer dan mengetik perintah seakan-akan kamu ada di sana. Begitu kamu paham SSH, server berhenti terasa seperti kotak hitam yang jauh, dan mulai terasa seperti mesin biasa yang bisa kamu jangkau. Yuk kita bangun pemahaman itu dari dasar.

SSH itu sebenarnya apa

SSH adalah singkatan dari Secure Shell. Pecah jadi dua bagian, dan seluruh idenya langsung pas di tempatnya.

Sebuah shell adalah program yang membaca perintah yang kamu ketik lalu menjalankannya — dialah yang ada di balik prompt command-line. Saat kamu membuka terminal di mesinmu sendiri, sebenarnya kamu sedang berbicara dengan sebuah shell. Nah, SSH memberimu shell di mesin yang berbeda, lewat jaringan. Kamu mengetik, komputer di sana yang menjalankan perintahnya, lalu hasilnya kembali ke layarmu.

Bagian secure-nya sama pentingnya. Semua yang kamu kirim lewat koneksi SSH — perintahmu, password-mu, berkas yang kamu pindahkan, hasil yang balik ke kamu — semuanya dienkripsi. Sekalipun ada orang yang mengintip jaringan antara kamu dan server, yang dia lihat cuma kebisingan yang acak. Ini hal besar, karena SSH menggantikan tool lama seperti Telnet yang dulu mengirim segalanya, password sekalipun, dalam bentuk teks polos yang gampang dibaca.

Jadi sederhananya: SSH adalah cara yang aman untuk login dan mengendalikan komputer dari jauh. Kalau kamu pernah dengar orang bilang “ssh ke server,” persis itu maksudnya — membuka salah satu sesi jarak jauh yang terenkripsi ini.

Satu protokol, dua bagian

SSH menggambarkan sebuah protokol — kesepakatan tentang cara dua komputer berbicara secara aman. Dalam praktiknya, dia muncul sebagai dua program yang bekerja sama. Client SSH berjalan di mesinmu (kamu menjalankannya dengan mengetik ssh). Server SSH berjalan di mesin jarak jauh, biasanya berupa program bernama sshd (huruf “d” itu dari daemon, sebuah layanan latar belakang). Client menyambung, server menjawab, lalu sesi terenkripsinya dimulai. Hampir semua server Linux menjalankan sshd secara bawaan, dan itulah kenapa SSH jadi pintu masuk standarnya.

Bagaimana koneksi SSH bekerja

Kamu tidak perlu menghafal kriptografinya, tapi punya gambaran mental tentang apa yang terjadi saat kamu menyambung bikin semua hal sesudahnya jadi tidak misterius. Ini urutannya, versi yang disederhanakan:

  1. Kamu memulai koneksi. Client-mu menghubungi alamat server, di sebuah port tertentu (SSH memakai port 22 secara bawaan).
  2. Server membuktikan dirinya. Server menyerahkan host key-nya — sebuah sidik jari unik yang menandai server ini persis. Client-mu mengeceknya. Pertama kali kamu menyambung, kamu bakal diminta memastikan bahwa kamu percaya server itu.
  3. Sebuah terowongan terenkripsi dibangun. Kedua mesin menyepakati sebuah rahasia bersama lewat sedikit matematika yang cerdik, dan sejak titik ini semua hal di kedua arah jadi teracak.
  4. Kamu membuktikan bahwa kamu memang kamu. Sekarang giliran server memastikan kamu boleh masuk — entah dengan password, atau jauh lebih baik, dengan key (soal ini sebentar lagi).
  5. Kamu dapat shell. Verifikasi lolos, dan sebuah prompt muncul. Sekarang kamu mengetik perintah yang berjalan di mesin jarak jauh tadi.
   LAPTOP KAMU                        SERVER JAUH
   (client ssh)                       (sshd, port 22)
        │                                   │
        │  1. menyambung ──────────────────►│
        │                                   │
        │◄──── 2. "ini host key saya" ──────│
        │                                   │
        │═══ 3. terowongan terenkripsi ═════│
        │                                   │
        │  4. "ini saya, lho" ─────────────►│
        │◄──── 5. silakan — ini shell-nya ──│
        │                                   │
   kamu mengetik perintah ──────────────►   dijalankan di sana

Setiap ketukan tombol sesudah itu melintas lewat terowongan terenkripsi. Rasanya seketika dan seperti lokal, padahal kamu sebenarnya sedang mengendalikan mesin yang bisa saja ada di belahan bumi yang lain.

Menyambung: perintah ssh

Perintahnya sendiri menyenangkan karena pendek. Bentuk dasarnya:

ssh username@host
  • username adalah akun yang ingin kamu pakai untuk login di server (misalnya jane atau deploy).
  • host adalah tempat server berada — bisa berupa alamat IP seperti 203.0.113.10 atau nama domain seperti srv.acypartner-indonesia.example.

Jadi koneksi yang sungguhan bisa terlihat seperti ini:

ssh jane@203.0.113.10

Kalau server SSH-nya mendengarkan di port yang bukan bawaan (sebagian dipindah dari 22 untuk mengurangi keramaian dari bot otomatis), kamu beri tahu ssh dengan -p:

ssh -p 2222 jane@203.0.113.10

Pertama kali kamu menyambung ke sebuah server baru, kamu bakal melihat sesuatu seperti ini:

The authenticity of host '203.0.113.10' can't be established.
ED25519 key fingerprint is SHA256:Xy9k...3Qz.
Are you sure you want to continue connecting (yes/no)?

Itu langkah 2 dari tadi — client-mu menunjukkan host key milik server dan menanyakan apakah kamu mempercayainya. Ketik yes, dan sidik jari itu tersimpan ke sebuah berkas bernama known_hosts di mesinmu. Sejak saat itu, client-mu diam-diam mengecek bahwa servernya masih cocok. Kalau sidik jari itu suatu saat berubah tanpa alasan jelas, SSH akan menolak menyambung dengan keras — caranya memperingatkan kamu bahwa mungkin ada sesuatu yang sedang menyamar jadi server-mu.

Jangan asal lanjut saat host key berubah

Peringatan host key yang muncul setelah sebelumnya kamu pernah menyambung bukan sesuatu yang boleh diabaikan. Biasanya itu artinya servernya baru saja dibangun ulang atau di-install ulang (tidak masalah), tapi bisa juga artinya ada orang yang menyelinap di antara kamu dan server aslinya. Kalau kamu tidak menduga ada perubahan, berhenti dulu dan pastikan ke orang yang mengelola server itu sebelum kamu menghapus key lama lalu menyambung kembali. Justru inilah situasi yang ingin ditangkap oleh host key.

Password vs. key SSH

Saat server memintamu membuktikan diri, ada dua cara umum untuk melakukannya. Bagian inilah yang paling sering disalahpahami pemula, jadi ada baiknya kita pelan-pelan.

Autentikasi password

Cara paling sederhana: kamu mengetik password akun tersebut, server mengeceknya, dan kamu masuk. Cara ini berhasil, dan banyak orang memulainya dari sini. Tapi ada kelemahan nyatanya. Password bisa ditebak, dipakai ulang di banyak situs, atau dikikis pelan-pelan oleh bot otomatis yang menggempur server dengan ribuan password umum per menit. Password juga harus ikut melintas (untungnya, terenkripsi) di setiap kali login.

Autentikasi berbasis key

Cara yang lebih baik adalah memakai pasangan key — dua berkas yang saling cocok dan dibuat bersamaan:

  • Private key yang tinggal di mesinmu dan tidak pernah kamu bagikan ke siapa pun.
  • Public key yang kamu salin ke server.

Saat kamu menyambung, kedua bagian itu membuktikan bahwa mereka satu pasang lewat kriptografi, tanpa private key-mu pernah keluar dari komputermu. Hasilnya: login yang sekaligus lebih praktis (tidak perlu mengetik password tiap kali) dan jauh lebih aman (key yang bagus praktis mustahil ditebak). Untuk server sungguhan apa pun, key adalah standar yang sebaiknya kamu tuju.

Kamu membuat pasangan key cukup sekali, dengan:

ssh-keygen -t ed25519 -C "jane@acy-partner-indonesia"

Perintah itu membuat dua berkas di folder ~/.ssh/ kamu: id_ed25519 (private key — jaga baik-baik) dan id_ed25519.pub (public key — aman untuk dibagikan). Bagian -C cuma sebuah komentar supaya nanti kamu bisa membedakan key-key milikmu.

Lalu kamu salin key public-nya ke server:

ssh-copy-id jane@203.0.113.10

Setelah itu, ssh jane@203.0.113.10 membuatmu login pakai key — tanpa diminta password. Di balik layar, public key-mu tadi ditambahkan ke sebuah berkas bernama ~/.ssh/authorized_keys di akunmu pada server, yaitu daftar public key yang diizinkan login sebagai kamu.

   MESIN KAMU                        SERVERNYA
 ┌──────────────────┐            ┌──────────────────────┐
 │ id_ed25519       │  private   │ authorized_keys      │
 │ (PRIVATE, tetap) │            │  menyimpan PUBLIC    │
 │ id_ed25519.pub ──┼──salin───► │  key-mu, lalu izinkan│
 └──────────────────┘            └──────────────────────┘

Perlakukan private key seperti kunci rumah

Private key adalah satu-satunya hal yang tidak boleh sampai bocor. Jangan kirim lewat email, jangan tempel ke chat, jangan commit ke repository Git, dan jangan salin ke mesin yang dipakai bersama-sama. Kalau kamu mau satu lapis tambahan, lindungi dengan passphrase saat kamu membuatnya — sehingga orang yang mencuri berkasnya pun tetap tidak bisa memakainya tanpa frasa itu. Kehilangan private key bukan bencana (kamu tinggal membuat pasangan baru lalu memperbarui server), tapi private key yang bocor iya, jadi tangani dengan hati-hati.

Setelah masuk, mau ngapain

Setelah menyambung, kamu cuma berada di sebuah prompt Linux — shell jenis yang sama yang biasa kamu pakai secara lokal. Kalau kamu pernah menghabiskan waktu dengan command line, semua yang kamu tahu berlaku di sini juga, cuma sekarang di mesin jarak jauh. Kamu bisa berpindah-pindah dengan cd dan ls, membaca dan mengedit berkas, mengecek service yang berjalan, serta memasang software.

Beberapa hal yang perlu kamu tahu soal bekerja lewat SSH:

  • Prompt-nya biasanya memberitahu kamu ada di mana. Sesuatu seperti jane@srv01:~$ mengingatkan kamu sedang jadi user yang mana (jane) dan di mesin yang mana (srv01). Detail kecil itu menyelamatkanmu dari tidak sengaja menjalankan perintah di server yang salah.
  • Untuk keluar, ketik exit (atau tekan Ctrl+D). Itu menutup sesi dan mengembalikanmu ke prompt mesinmu sendiri.
  • Kamu bisa menjalankan satu perintah tanpa membuka sesi penuh. Tempelkan perintahnya di akhir, lalu SSH menjalankannya, mengembalikan hasilnya, dan memutus koneksi:
ssh jane@203.0.113.10 "uptime"

Itu berguna untuk pengecekan cepat atau skrip yang cuma perlu menanyakan satu hal ke server.

Akun mana yang kamu pakai untuk login juga penting. Login sebagai user biasa lalu menaikkan hak akses hanya saat diperlukan jauh lebih aman dibanding login sebagai user root yang mahakuasa untuk segala hal. Kalau perbedaan itu masih kabur, artikel soal user dan grup membahas siapa boleh melakukan apa, dan izin berkas menjelaskan kenapa tidak setiap akun boleh menyentuh setiap berkas.

Satu kenyamanan kecil: berkas config SSH

Mengetik ssh -p 2222 jane@203.0.113.10 setiap kali itu cepat bikin bosan. SSH membolehkanmu menyimpan jalan pintas di sebuah berkas di ~/.ssh/config. Tambahkan entri seperti ini:

Host acy-server
    HostName 203.0.113.10
    User jane
    Port 2222

Sekarang cuma ini yang kamu ketik:

ssh acy-server

Client mencari acy-server di config, mengisi alamat, user, dan port-nya untukmu, lalu menyambung. Buat siapa pun yang mengurus lebih dari satu-dua server, berkas kecil ini mengubah pekerjaan merepotkan jadi kebiasaan yang nyaris tak kamu rasakan.

Kenapa SSH itu penting

SSH adalah pintu depan ke nyaris setiap server yang akan pernah kamu pegang. Men-deploy website, memperbaiki bug di production, membaca log pukul 2 dini hari untuk mencari tahu kenapa sesuatu rusak, memindahkan berkas, mengotomatiskan tugas rutin — hampir semuanya bermula dari sebuah koneksi SSH. Ini bukan topik tingkat lanjut yang bisa kamu tunda; ini adalah pipa dasar hari-pertama bagi siapa pun yang bekerja dengan server.

Dia juga jadi fondasi aman yang diam-diam dipakai banyak tool lain. Metode transfer berkas seperti SCP dan SFTP berjalan di atas SSH, memakai terowongan terenkripsi dan key yang sama. Skrip deployment dan tool konfigurasi menyambung lewat SSH di balik layar. Pelajari ini sekali sampai betul, dan kamu sudah membuka seluruh lapisan tentang bagaimana server dikelola.

Penutup

Ini rangkuman semuanya dalam satu tempat:

  • SSH (Secure Shell) adalah cara yang aman dan terenkripsi untuk login serta mengendalikan command line sebuah komputer jarak jauh lewat jaringan.
  • Dia terbagi jadi client (di mesinmu, perintah ssh) dan server (sshd, mendengarkan di port 22 secara bawaan).
  • Menyambung berarti mengecek host key server (supaya kamu tahu ini benar server-mu), membangun terowongan terenkripsi, lalu memverifikasi kamu.
  • Kamu membuktikan diri dengan password atau, jauh lebih baik, dengan pasangan key SSH — private key yang kamu jaga dan public key yang kamu taruh di server.
  • Perintah dasarnya ssh username@host; kamu keluar dengan exit, dan berkas ~/.ssh/config menyelamatkanmu dari mengetik ulang detail koneksi.

Begitu kamu nyaman membuka sesi, langkah lanjutan yang alami adalah memindahkan berkas antara mesinmu dan server — mengunggah hasil build ke atas, menarik backup ke bawah. Itulah tugas transfer berkas lewat SSH, dan key yang baru saja kamu siapkan langsung bisa dipakai untuk itu juga.

Tag:sshlinuxserverakses-jarak-jauhpemula
728 × 90Slot Iklan TersediaPasang iklan Anda di sini

Artikel Terkait

Lihat Semua Artikel

Artikel yang Mungkin Kamu Suka

SSL dan enkripsi at rest — data terlindungi saat berjalan dan saat tersimpan di disk
Server / Keamanan Server

SSL dan Enkripsi at Rest: Melindungi Data Saat Berjalan dan Saat Tersimpan

Enkripsi melindungi data di dua tempat: saat data lewat di jaringan (in transit) dan saat data nganggur di disk (at rest). Pahami bedanya, kenapa kamu butuh keduanya, bagaimana TLS, enkripsi disk, dan pengelolaan kunci sebenarnya saling melengkapi, plus kesalahan praktis yang sering bikin sia-sia.

9 Nov 202612 menit baca
Mengamankan port dan service — menutup pintu di server yang tidak kamu pakai
Server / Keamanan Server

Mengamankan Port dan Service: Menutup Pintu yang Tidak Kamu Pakai

Setiap port yang terbuka di server adalah satu pintu yang bisa dicoba orang lain. Pahami port dan service itu sebenarnya apa, kenapa service yang terekspos jadi risiko terbesarmu, dan kebiasaan sederhana menutup semua yang tidak kamu butuhkan — dijelaskan dari nol.

8 Nov 202610 menit baca
Prinsip least privilege — memberi hanya akses minimum yang dibutuhkan tiap user dan proses
Server / Keamanan Server

Prinsip Least Privilege: Beri Setiap Hal Hanya Akses yang Benar-Benar Dibutuhkan

Least privilege adalah aturan diam-diam di balik hampir semua setup keamanan yang solid: setiap user, proses, dan kunci hanya dapat akses minimum untuk menjalankan tugasnya, tidak lebih.

7 Nov 202612 menit baca
Fail2ban dan dasar intrusi — mengawasi log dan mem-banned otomatis pelaku yang menggedor berulang kali
Server / Keamanan Server

Fail2ban dan Dasar Intrusi: Mem-banned Otomatis Bot yang Terus Menggedor Server-mu

Penyerang tidak berhenti setelah sekali salah tebak — mereka terus menggedor, ribuan kali sehari. Pahami seperti apa sebenarnya percobaan intrusi, apa yang dikerjakan fail2ban, bagaimana ia mengawasi log dan mem-banned pelaku otomatis, dan cara menyetelnya dengan masuk akal tanpa mengunci dirimu.

6 Nov 202612 menit baca
Menjaga software tetap update — menutup lubang keamanan yang sudah diketahui sebelum penyerang memakainya
Server / Keamanan Server

Menjaga Software Tetap Update: Kebiasaan Membosankan yang Mencegah Sebagian Besar Pembobolan Server

Kebanyakan server tidak dibobol lewat serangan baru yang canggih — tapi lewat lubang lama yang sudah diketahui, yang sebenarnya cukup ditutup dengan update. Pelajari kenapa update itu penting, apa saja yang harus di-update, cara melakukannya dengan aman tanpa merusak apa pun, dan cara.

5 Nov 20269 menit baca
Konfigurasi firewall — aturan default-deny yang hanya membuka port yang kamu butuhkan
Server / Keamanan Server

Konfigurasi Firewall: Menyusun Aturan Default-Deny Tanpa Mengunci Diri Sendiri

Tahu apa itu firewall dan benar-benar mengonfigurasinya dengan rapi adalah dua keterampilan berbeda. Pelajari cara menyusun aturan default-deny, mengurutkan aturan dengan benar, membuka akses sendiri lebih dulu, menangani IPv6 dan security group cloud, lalu mengujinya sebelum dipakai — panduan.

4 Nov 202614 menit baca