0Pricing
Cryptology Academy · Pelajaran

Jabat Tangan SSH dan Autentikasi Kunci Host

Telusuri jabat tangan SSH-2: pertukaran versi, negosiasi algoritma, pertukaran kunci, dan autentikasi layanan.

Jabat Tangan SSH dan Autentikasi Kunci Host adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Koneksi TCP pada Port 22

SSH dimulai dengan koneksi TCP ke port 22. Setelah koneksi terbentuk, klien dan server saling bertukar string versi seperti SSH-2.0-OpenSSH_9.3, yang mengidentifikasi versi protokol dan implementasinya. Pertukaran versi ini memungkinkan kedua pihak memastikan kompatibilitas sebelum melanjutkan.

Tahap Negosiasi Algoritme

Setelah pertukaran versi, kedua pihak mengirim paket SSH_MSG_KEXINIT yang berisi daftar algoritme yang didukung. Daftar ini mencakup metode pertukaran kunci, jenis kunci host, cipher simetris, algoritme MAC, dan kompresi. Irisan kedua daftar tersebut menentukan algoritme yang dipilih untuk sesi.

Pertukaran Kunci Diffie-Hellman dan ECDH

Kunci sesi dibuat menggunakan algoritme pertukaran kunci seperti Diffie-Hellman atau ECDH. Klien dan server masing-masing membuat pasangan kunci sementara, bertukar nilai publik, lalu menghitung rahasia bersama yang sama secara mandiri. Rahasia bersama ini menjadi dasar derivasi kunci sesi tanpa pernah dikirimkan secara langsung.

Autentikasi Kunci Host Server

Server membuktikan identitasnya dengan menandatangani hash pertukaran kunci menggunakan kunci privat host-nya. Kunci host dapat berupa RSA, ECDSA, atau format Ed25519 modern. Klien menggunakan kunci publik yang sesuai untuk memverifikasi tanda tangan ini, sehingga memastikan bahwa klien sedang berkomunikasi dengan server asli, bukan penyamar.

Kepercayaan pada Penggunaan Pertama (TOFU)

Pada koneksi pertama ke server baru, klien belum mengetahui kunci publik host tersebut. SSH menampilkan sidik jari kunci dan meminta pengguna menerimanya. Model Kepercayaan pada Penggunaan Pertama ini menyimpan kunci di known_hosts dan mendeteksi perubahan pada koneksi berikutnya, serta memperingatkan kemungkinan serangan penyusup di tengah.

Verifikasi Sidik Jari Kunci Host

Cara paling aman untuk memverifikasi kunci host server baru adalah melalui kanal di luar jalur. Administrator dapat membaca sidik jari server secara langsung atau melalui kanal aman yang terverifikasi, kemudian membandingkannya dengan sidik jari yang ditampilkan oleh klien SSH. Cara ini mencegah penerimaan kunci palsu secara diam-diam pada koneksi pertama.

Struktur Berkas known_hosts

Berkas known_hosts menyimpan baris dengan format: hostname algorithm base64-key. Setiap entri mewakili identitas server tepercaya. Saat Anda terhubung ke host yang sudah tercantum dalam known_hosts, SSH memverifikasi bahwa kunci yang diberikan cocok dengan kunci yang tersimpan, dan menolak koneksi jika terdapat ketidakcocokan.

Derivasi Kunci Sesi

Setelah pertukaran kunci, kedua pihak secara mandiri menurunkan kunci sesi menggunakan rahasia bersama, hash pertukaran, dan pengenal sesi. Kunci terpisah diturunkan untuk setiap arah komunikasi serta untuk operasi enkripsi dan MAC. Artinya, kunci yang digunakan untuk lalu lintas dari klien ke server berbeda dari kunci untuk lalu lintas dari server ke klien.

Tahap Komunikasi Terenkripsi

Setelah kunci sesi dibuat, semua komunikasi SSH berikutnya dienkripsi dan diautentikasi. Cipher yang dinegosiasikan, seperti AES-256-GCM atau ChaCha20-Poly1305, melindungi kerahasiaan, sedangkan MAC memastikan integritas. Bahkan nama pengguna dan kredensial autentikasi dikirim melalui terowongan terenkripsi ini.

Perbandingan Jenis Kunci Host SSH

Kunci host RSA berukuran 2048 atau 4096 bit didukung secara luas, tetapi lebih lambat. Kunci ECDSA yang berbasis kurva NIST lebih cepat, tetapi sebagian pihak tidak mempercayai parameter kurva NIST. Kunci Ed25519 yang berbasis Curve25519 merupakan rekomendasi modern: berukuran kecil, cepat, sangat aman, dan tidak bergantung pada parameter kurva NIST. Sebagian besar server SSH modern menawarkan Ed25519 secara bawaan.

Ringkasan Pembentukan Sesi

Jabat tangan SSH mencakup koneksi TCP, pertukaran versi, negosiasi algoritme, pertukaran kunci untuk membuat kunci sesi, verifikasi kunci host server, dan autentikasi pengguna. Semua langkah setelah pertukaran versi berlangsung di dalam kanal terenkripsi yang dilindungi integritasnya dan dibuat oleh tahap pertukaran kunci.

Pemeriksaan Verifikasi Kunci Host

Bagaimana klien memverifikasi kunci host server SSH pada koneksi berikutnya setelah koneksi pertama?

Ikhtisar Jabat Tangan SSH

Dalam pelajaran ini: TCP terhubung pada port 22, string versi dipertukarkan, negosiasi algoritme memilih cipher dan metode pertukaran kunci, ECDH atau DH membuat rahasia bersama, kunci sesi diturunkan secara terpisah untuk setiap arah, server mengautentikasi dirinya dengan tanda tangan kunci host, dan klien memverifikasinya terhadap known_hosts menggunakan TOFU pada koneksi pertama.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jabat Tangan SSH dan Autentikasi Kunci Host” gratis?

Ya — teks lengkap “Jabat Tangan SSH dan Autentikasi Kunci Host” 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 “Jabat Tangan SSH dan Autentikasi Kunci Host”?

Telusuri jabat tangan SSH-2: pertukaran versi, negosiasi algoritma, pertukaran kunci, dan autentikasi layanan. 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 1 dari 4.

Berapa lama pelajaran “Jabat Tangan SSH dan Autentikasi Kunci Host” 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. Jabat Tangan SSH dan Autentikasi Kunci Host
  2. Autentikasi Kunci Publik dan Penerusan Agen
  3. Teknik Penerowongan SSH dan Penerusan Port
  4. Penguatan SSH dan Praktik Terbaik Audit
← Kembali ke Cryptology Academy