Pengerasan SSH dan Autentikasi Berbasis Kunci
Nonaktifkan autentikasi kata sandi, konfigurasikan pasangan kunci, batasi akses dengan AllowUsers, dan gunakan fail2ban
Pengerasan SSH dan Autentikasi Berbasis Kunci adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Mengapa Keamanan SSH Penting
SSH adalah protokol administrasi jarak jauh utama untuk server Linux. Server SSH yang salah konfigurasi merupakan salah satu titik masuk paling umum bagi penyerang — server ini terbuka ke internet dan terus-menerus menjadi sasaran bot yang mencoba banyak kata sandi.
Membuat Pasangan key SSH
Autentikasi berbasis key lebih kuat daripada kata sandi. Buat pasangan key:
ssh-keygen -t ed25519 -C "your_email"
# Creates ~/.ssh/id_ed25519 (private) and id_ed25519.pub (public)
# Never share the private keyMemasang key Publik
Salin key publik Anda ke server:
ssh-copy-id user@server
# Or manually:
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keysMenonaktifkan Autentikasi Kata Sandi
Setelah autentikasi berbasis key berfungsi, nonaktifkan masuk dengan kata sandi untuk menghilangkan risiko serangan coba-coba berulang:
# In /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
sudo systemctl restart sshdMengubah Port SSH Bawaan
Memindahkan SSH dari port 22 mengurangi gangguan pemindaian otomatis. Ini adalah keamanan melalui ketidakjelasan — bukan pertahanan yang sebenarnya, tetapi mengurangi banjir catatan. Selalu perbarui aturan firewall agar sesuai.
# /etc/ssh/sshd_config
Port 2222
# Then update firewall:
ufw allow 2222/tcp
ufw delete allow 22/tcpMembatasi Akses SSH berdasarkan Pengguna/IP
Batasi pengguna yang dapat menggunakan SSH dan asal koneksinya:
# /etc/ssh/sshd_config
AllowUsers alice bob
AllowGroups sshusers
# Or restrict by source IP in /etc/hosts.allow:
sshd: 192.168.1.0/24Batas Waktu dan Batas Masuk SSH
Kurangi paparan dengan membatasi sesi dan percobaan:
# /etc/ssh/sshd_config
ClientAliveInterval 300 # disconnect idle sessions after 5 min
ClientAliveCountMax 2
MaxAuthTries 3 # max password attempts
LoginGraceTime 30 # seconds to authenticateMenggunakan fail2ban
fail2ban memantau berkas catatan dan memblokir IP yang menunjukkan pola berbahaya, misalnya terlalu banyak kegagalan masuk melalui SSH. Program ini memperbarui aturan firewall secara dinamis untuk memblokir penyerang.
apt install fail2ban
# /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 3
bantime = 3600Agen SSH dan Penerusan key
Agen SSH menyimpan key privat yang telah didekripsi di memori sehingga Anda tidak perlu memasukkan ulang frasa sandi setiap kali masuk. Penerusan agen (ssh -A) meneruskan key Anda melalui beberapa lompatan — gunakan dengan hati-hati, karena server perantara yang disusupi dapat mencuri key Anda dari soket agen.
Autentikasi Dua Faktor untuk SSH
Tambahkan TOTP ke SSH dengan modul PAM Google Authenticator untuk perlindungan tambahan, bahkan saat menggunakan autentikasi berbasis key. Diperlukan key AND OTP berbasis waktu untuk masuk.
Mengaudit Konfigurasi SSH
Verifikasi konfigurasi SSH Anda dengan:
sshd -T | grep -E "passwordauth|permitroot|pubkeyauth|port"
# Check who is connected:
ss -tnp | grep :22
whoPemeriksaan Cepat: Penguatan SSH
Pengaturan sshd_config mana yang harus disetel ke no untuk menghilangkan serangan coba-coba kata sandi terhadap SSH?
Ringkasan Pelajaran
Penguatan SSH: gunakan key Ed25519, nonaktifkan autentikasi kata sandi, nonaktifkan masuk root, ubah port 22, batasi AllowUsers, tetapkan batas waktu tidak aktif, dan pasang fail2ban. Jangan pernah membagikan key privat. Audit dengan sshd -T. Penerusan agen memang praktis, tetapi berisiko pada host yang tidak tepercaya.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pengerasan SSH dan Autentikasi Berbasis Kunci” gratis?
Ya — teks lengkap “Pengerasan SSH dan Autentikasi Berbasis Kunci” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pengerasan SSH dan Autentikasi Berbasis Kunci”?
Nonaktifkan autentikasi kata sandi, konfigurasikan pasangan kunci, batasi akses dengan AllowUsers, dan gunakan fail2ban Kamu berlatih Cyber Security 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 Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security 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 3 dari 4.
Berapa lama pelajaran “Pengerasan SSH dan Autentikasi Berbasis Kunci” 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 Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security 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
- Izin dan Kepemilikan Berkas
- Pengelolaan Pengguna dan Grup
- Pengerasan SSH dan Autentikasi Berbasis Kunci
- Aturan Firewall iptables dan UFW