0Pricing
Cryptology Academy · Pelajaran

SSH: Mengamankan Akses Jarak Jauh

Ikuti jabat tangan SSH, autentikasi kunci host, dan cara SSH melindungi sesi jarak jauh.

SSH: Mengamankan Akses Jarak Jauh adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

SSH-1 vs SSH-2: Kisah Penghentian Dukungan

SSH-1, protokol Secure Shell asli, mengandung cacat perancangan mendasar yang memungkinkan penyerang aktif menyisipkan data sembarang ke dalam sesi terenkripsi tanpa terdeteksi. SSH-2, perancangan ulang protokol secara menyeluruh yang diterbitkan pada 2006 sebagai RFC 4251-4254, mengatasi kelemahan tersebut dengan protokol lapisan transport, autentikasi, dan koneksi yang terpisah, serta pemeriksaan integritas yang lebih kuat menggunakan HMAC. SSH-1 sudah tidak digunakan lagi dan server modern mana pun tidak boleh mengaktifkannya.

Lapisan Transport SSH: Enkripsi dan Integritas

Protokol lapisan transport SSH menangani pertukaran kunci awal dan membangun kanal terenkripsi yang dilindungi integritas. Protokol ini menegosiasikan algoritme untuk pertukaran kunci (biasanya ECDH), autentikasi host (biasanya Ed25519 atau RSA), enkripsi simetris (biasanya AES-256-CTR atau ChaCha20-Poly1305), dan MAC (biasanya HMAC-SHA2-256). Setiap paket berikutnya dienkripsi sekaligus diperiksa integritasnya menggunakan algoritme yang dinegosiasikan.

Lapisan Autentikasi Pengguna SSH

Setelah lapisan transport diamankan, lapisan autentikasi pengguna menegosiasikan cara pengguna membuktikan identitasnya kepada server. Tiga metode umum adalah kata sandi (pengguna mengetikkan kata sandi, yang dikirim secara terenkripsi melalui lapisan transport), kunci publik (pengguna membuktikan bahwa ia memiliki kunci privat yang sesuai dengan kunci publik yang diotorisasi di server), dan GSSAPI (integrasi sistem masuk tunggal Kerberos untuk lingkungan perusahaan).

Lapisan Koneksi SSH: Kanal Termultipleks

Lapisan koneksi SSH memultipleks beberapa kanal logis melalui satu koneksi transport terenkripsi. Sesi SSH biasanya memiliki satu kanal untuk terminal interaktif. Kanal tambahan mendukung penerusan port, penerusan X11, dan transfer berkas SFTP, semuanya berbagi koneksi yang sama yang telah diautentikasi dan dienkripsi. Permintaan kanal memungkinkan klien meminta terminal semu, menetapkan variabel lingkungan, atau menjalankan perintah tertentu.

Verifikasi Kunci Host dan TOFU

Saat pertama kali terhubung ke server SSH, klien menerima kunci host server dan harus memutuskan apakah akan mempercayainya. Kebijakan bawaannya adalah Kepercayaan pada Penggunaan Pertama (TOFU): pengguna diminta memverifikasi sidik jari kunci (biasanya ditampilkan sebagai nilai hash seperti SHA256:...) dan jika diterima, kunci tersebut disimpan dalam berkas known_hosts. Pada koneksi berikutnya, kunci yang tersimpan dibandingkan dengan kunci yang disajikan server, dan ketidakcocokan memicu peringatan keras tentang kemungkinan serangan perantara.

known_hosts dan Sidik Jari Kunci

Berkas known_hosts, yang disimpan di ~/.ssh/known_hosts, memelihara basis data kunci host server yang diindeks berdasarkan nama host dan alamat IP. Setiap entri menghubungkan alamat server dengan kunci publiknya. Jika kunci server berubah, mungkin karena server dipasang ulang atau karena penyerang menyamar sebagai server tersebut, SSH menolak terhubung dan menampilkan peringatan. Administrator menggunakan autentikasi host berbasis sertifikat untuk menghindari keputusan kepercayaan TOFU dalam skala besar.

authorized_keys untuk Login Tanpa Kata Sandi

Autentikasi kunci publik menyimpan kunci publik pengguna di ~/.ssh/authorized_keys pada server. Saat pengguna terhubung, server mengirim tantangan yang dienkripsi dengan kunci publik; hanya pemegang kunci privat yang cocok yang dapat merespons dengan benar, sehingga membuktikan identitas tanpa mengirimkan kunci privat atau kata sandi. Ini lebih aman daripada kata sandi karena kunci privat tidak pernah dikirim melalui jaringan dan tidak dapat diperoleh melalui penipuan.

Algoritme Kunci SSH

Tiga keluarga algoritme kunci SSH umum digunakan. Kunci RSA berukuran 3072 atau 4096 bit kompatibel dengan semua server. ECDSA yang menggunakan kurva NIST P-256 lebih cepat daripada RSA dengan tingkat keamanan setara, tetapi parameter keamanan P-256 telah menimbulkan sorotan. Ed25519, yang didasarkan pada Algoritme Tanda Tangan Digital Kurva Edwards, merupakan rekomendasi modern: kunci 256-bit yang cepat dan kecil, sifat keamanan yang kuat, serta tidak memiliki kekhawatiran terkait parameter khusus.

Sejarah SSH: Port 22 dan Tatu Ylönen

Tatu Ylönen, peneliti Finlandia di Universitas Teknologi Helsinki, mengembangkan SSH pada 1995 setelah serangan penyadapan kata sandi pada jaringan universitasnya membocorkan ratusan kredensial. Ia memilih port 22 karena berada di antara telnet (23) dan ftp (21). SSH menggantikan kedua protokol yang tidak aman tersebut. Ylönen mendirikan SSH Communications Security dan kemudian merilis SSH-2 sebagai standar terbuka melalui IETF. OpenSSH, implementasi gratis yang paling banyak digunakan, dibuat oleh proyek OpenBSD pada 1999.

Keamanan Agen SSH dan Penerusan Kunci

Agen SSH adalah proses latar belakang yang menyimpan kunci privat terdekripsi di memori, sehingga memungkinkan sistem masuk tunggal ke beberapa server tanpa memasukkan ulang frasa sandi. Penerusan agen (opsi -A) memperluas kemampuan ini dengan meneruskan koneksi agen ke server jarak jauh, sehingga memungkinkan akses satu lompatan ke server internal. Namun, penerusan agen merupakan risiko keamanan: server jarak jauh yang telah disusupi dapat menggunakan agen yang diteruskan untuk melakukan autentikasi sebagai Anda ke server lain. Gunakan ProxyJump sebagai pengganti penerusan agen.

Praktik Terbaik untuk Memperkuat Keamanan SSH

Konfigurasi SSH yang aman mencakup menonaktifkan login akun root (PermitRootLogin no), menonaktifkan autentikasi kata sandi (PasswordAuthentication no) dan memilih hanya kunci publik, menggunakan kunci host Ed25519, hanya mengaktifkan protokol SSH-2, mengonfigurasi batas waktu sesi saat tidak aktif, membatasi pengguna yang diizinkan dengan AllowUsers atau AllowGroups, serta mengubah port bawaan sebagai langkah penyamaran untuk mengurangi derau pemindaian otomatis. Fail2ban atau alat serupa memblokir IP dengan percobaan gagal berulang.

Metode Autentikasi SSH

Mengapa autentikasi kunci publik SSH dianggap lebih aman daripada autentikasi kata sandi?

SSH: Poin Penting

SSH-2 menggantikan SSH-1 yang cacat dengan lapisan transport, autentikasi, dan koneksi yang terpisah. Lapisan transport menegosiasikan enkripsi dan integritas. Autentikasi pengguna mendukung kata sandi, kunci publik, dan GSSAPI. Verifikasi kunci host menggunakan TOFU dan known_hosts. Ed25519 adalah algoritme kunci yang direkomendasikan. Penerusan agen merupakan risiko keamanan; gunakan ProxyJump sebagai gantinya. Penguatan keamanan mencakup menonaktifkan login root dan autentikasi kata sandi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “SSH: Mengamankan Akses Jarak Jauh” gratis?

Ya — teks lengkap “SSH: Mengamankan Akses Jarak Jauh” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “SSH: Mengamankan Akses Jarak Jauh”?

Ikuti jabat tangan SSH, autentikasi kunci host, dan cara SSH melindungi sesi jarak jauh. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “SSH: Mengamankan Akses Jarak Jauh” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa yang Membuat Protokol Aman
  2. SSH: Mengamankan Akses Jarak Jauh
  3. SFTP dan SCP: Transfer Berkas Aman
  4. DNSSEC: Mengautentikasi Respons DNS
← Kembali ke Cryptology Academy