Posted in

Setup SSH Login Using Key Based on Ubuntu 24.04

Intoduction

Untuk meningkatkan keamanan, key-based authentication menjadi metode yang direkomendasikan — terutama pada server produksi seperti node Kubernetes, database server, atau sistem yang terhubung langsung ke internet.

Dengan SSH key-based authentication, proses autentikasi dilakukan menggunakan pasangan kunci kriptografi:

  • Private key disimpan dengan aman di komputer pengguna.
  • Public key disimpan di server tujuan.

Ketika pengguna melakukan koneksi, sistem akan memverifikasi kecocokan antara kedua kunci tanpa pernah mengirimkan password ke jaringan. Ini menjadikan metode ini jauh lebih aman dan sulit dieksploitasi.

Beberapa keuntungan menggunakan SSH key-based authentication antara lain:

  1. Keamanan tinggi – Tidak rentan terhadap brute force atau password spraying.
  2. ⚙️ Otomatisasi aman – Dapat digunakan dalam skrip atau CI/CD pipeline tanpa memasukkan password.
  3. 🧑‍💼 Manajemen akses mudah – Cukup dengan menambah atau menghapus public key dari server.
  4. 🧱 Kompatibel dengan kebijakan hardening – Cocok untuk standar keamanan server seperti CIS Benchmark dan Kubernetes node hardening.

Dalam panduan ini, kita akan membahas langkah-langkah konfigurasi SSH key-based login di Ubuntu 24.04, sekaligus menonaktifkan login berbasis password untuk mencapai tingkat keamanan optimal.

Configuration Client (Using Fedora 42)

Membuat key SSH

ssh-keygen -t rsa

Kemudian kita copy ke server

ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<ipaddress_server>

Configuration Server

Disable passwordauthentication pada /etc/ssh/sshd_config

sudo sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config

Kemudian check apakah sudah kedisable

sudo sshd -T | grep -E 'passwordauthentication'

pastikan sudah ‘no’, jika masih ‘yes’ maka perlu dicek konfigurasi pada /etc/ssh/sshd_config dan /etc/ssh/sshd_config.d/*

Restart service ssh

sudo systemctl restart 

Troubleshooting

Ketika kita check menggunakan

sudo sshd -T | grep -E 'passwordauthentication'

Kita masih menemukan password auth masih enable, padahal kita sudah matikan di /etc/ssh/sshd_config. Kita harus cek pada /etc/ssh/sshd_config.d/. Dan di ubuntu 24.04 terdapat file 50-cloud-init.conf yang berisikan ‘passwordauthentication yes’. Kita hapus saja file tersebut

sudo rm /etc/ssh/sshd_config.d/50-cloud-init.conf

Kemudian kita testing SSH ke server, dan muncul

Permission denied (publickey).

Leave a Reply

Your email address will not be published. Required fields are marked *