Lesson Detail

Disable root login

Memahami kenapa root login sebaiknya dinonaktifkan, apa risiko jika tetap dibiarkan aktif, dan bagaimana menonaktifkannya dengan aman setelah user deploy siap dipakai.

14 minLesson Duration
1Materials
OpenStatus
This Lesson Progress0%
0/1 materials completed

Lesson Materials

This page now supports live lesson progress, per-material completion, and automatic current-lesson movement.

Live Lesson Progress

This lesson now tracks progress per material and updates the current lesson automatically.

Course Lesson Progress0%0 of 43 lessons completed
Course Material Progress0%0 of 43 materials completed
This Lesson0%0 of 1 materials completed
Material 1

Menonaktifkan Root Login

Open
HTML

Menonaktifkan Root Login

Konsep keamanan dasar untuk SSH production.

Disable root login

Setelah user deploy siap dipakai, salah satu langkah hardening yang sangat penting adalah menonaktifkan login langsung sebagai root melalui SSH.

Kenapa root login sebaiknya di-disable?

User root adalah akun dengan hak akses tertinggi di server. Kalau seseorang berhasil login sebagai root, maka orang tersebut hampir bisa melakukan apa saja di VPS: mengubah konfigurasi sistem, menghapus file penting, menambah user, mematikan service, bahkan mengambil alih seluruh server.

Karena itulah, root login lewat SSH sebaiknya tidak dibiarkan terbuka untuk akses harian dari internet.

Kenapa ini relevan dengan pola course kita?

Sesuai alur course ini, kita sudah membuat user deploy dan menyiapkannya untuk workflow harian. Artinya, sekarang kita tidak perlu lagi login langsung sebagai root untuk pekerjaan rutin.

Pola yang lebih aman adalah:

  • login ke server menggunakan user deploy,
  • lalu gunakan sudo jika memang butuh hak administratif.

Apa risiko jika root login tidak di-disable?

  • Menjadi target utama brute-force — bot internet sangat sering mencoba login ke username root.
  • Risiko kompromi lebih besar — kalau password root bocor atau lemah, dampaknya langsung sangat besar.
  • Tidak mengikuti prinsip least privilege — pekerjaan harian dilakukan dengan akses terlalu tinggi.
  • Memperbesar dampak human error — salah command saat login sebagai root bisa merusak sistem lebih cepat.

Apakah root harus dihapus?

Tidak. Yang kita nonaktifkan adalah login root lewat SSH, bukan menghapus user root dari sistem. User root tetap ada, tetapi akses remote langsungnya dibatasi.

Prasyarat sebelum disable root login

Jangan lakukan langkah ini kalau user deploy belum benar-benar siap. Pastikan dulu:

  1. user deploy sudah dibuat,
  2. user deploy sudah masuk group sudo,
  3. Anda sudah berhasil login memakai deploy,
  4. sudo dari user deploy berjalan normal.
Peringatan penting: jangan disable root login sebelum Anda benar-benar bisa masuk ke server memakai user deploy. Kalau tidak, Anda bisa terkunci dari VPS.

Cara men-disable root login

Login ke server memakai user deploy, lalu buka file konfigurasi SSH:

sudo nano /etc/ssh/sshd_config

Cari baris berikut:

#PermitRootLogin prohibit-password

atau:

PermitRootLogin yes

Lalu ubah menjadi:

PermitRootLogin no

Kalau barisnya masih diberi tanda #, hapus tanda komentar tersebut agar setting benar-benar aktif.

Contoh hasil konfigurasi yang benar

PermitRootLogin no

Simpan file lalu restart SSH

Setelah file diubah dan disimpan, restart service SSH:

sudo systemctl restart ssh

Langkah aman setelah restart

Setelah restart, jangan langsung logout dari session aktif. Buka jendela PuTTY baru dan test login memakai user deploy.

Kalau login user deploy berhasil, barulah perubahan ini dianggap aman.

Apa yang akan terjadi setelah root login di-disable?

Setelah konfigurasi ini aktif:

  • login SSH langsung sebagai root akan ditolak,
  • login harian harus memakai user biasa seperti deploy,
  • hak administratif tetap bisa dipakai melalui sudo.

Contoh workflow yang benar setelah ini

  1. Login PuTTY sebagai deploy
  2. Masuk ke server
  3. Jalankan command biasa untuk kerja harian
  4. Gunakan sudo hanya jika diperlukan

Kesalahan umum yang perlu dihindari

  • Disable root login sebelum user deploy bisa dipakai
  • Lupa menyimpan file sshd_config
  • Lupa restart service SSH setelah mengubah konfigurasi
  • Tidak menguji login deploy setelah perubahan

Command inti lesson ini

sudo nano /etc/ssh/sshd_config
PermitRootLogin no
sudo systemctl restart ssh

Kesimpulan lesson ini

Root login sebaiknya di-disable karena akun root adalah target utama serangan otomatis dan memiliki hak akses tertinggi di server. Dengan menonaktifkan login root lewat SSH, kita memaksa workflow server menjadi lebih aman: masuk memakai user deploy, lalu naik hak akses hanya saat memang diperlukan dengan sudo.

Ini adalah salah satu langkah hardening paling penting setelah user deploy siap dipakai.