Login sebagai root di VPS Linux memang memberikan akses penuh, tapi justru karena akses ini sangat powerful, ia juga jadi incaran utama para penyerang. Jika akun root berhasil diretas, seluruh sistem bisa dikuasai tanpa batas. Oleh karena itu, menonaktifkan login root adalah langkah penting dalam memperkuat keamanan server.
Dalam praktik terbaik manajemen server, disarankan untuk membuat akun pengguna biasa yang memiliki hak akses sudo. Dengan begitu, aktivitas administrasi tetap bisa dilakukan, tapi risiko penyalahgunaan akses bisa diminimalkan.
Mengapa Root Login Perlu Dinonaktifkan?
Akun root punya akses tanpa batas ke seluruh sistem. Jika ada celah keamanan seperti brute force attack atau kebocoran kredensial, maka penyerang bisa langsung menguasai server. Beberapa alasan umum mengapa root login sebaiknya dimatikan:
- Root adalah target utama brute force
- Semua sistem Linux menggunakan username “root” secara default, sehingga mudah ditebak
- Akses root langsung tidak terekam dalam log seperti sudo, sehingga susah diaudit
- Risiko kesalahan fatal lebih besar ketika semua perintah dijalankan sebagai root
Langkah 1: Buat User Baru dengan Akses Sudo
Sebelum menonaktifkan login root, penting untuk membuat user baru yang bisa digunakan untuk administrasi.
Contoh:
adduser adminuser
usermod -aG sudo adminuser # untuk Ubuntu/Debian
usermod -aG wheel adminuser # untuk CentOS/RHEL
Coba login dengan user baru ini melalui SSH:
ssh adminuser@ip_address
Pastikan semuanya berjalan normal sebelum lanjut ke langkah berikutnya.
Langkah 2: Edit Konfigurasi SSH
Buka file konfigurasi SSH dengan editor favorit, contoh menggunakan nano:
nano /etc/ssh/sshd_config
Cari baris:
PermitRootLogin yes
Ubah menjadi:
PermitRootLogin no
Jika baris tersebut tidak ada, bisa tambahkan manual di bagian akhir file:
PermitRootLogin no
Simpan dan keluar, lalu restart layanan SSH:
systemctl restart sshd # Ubuntu/Debian/CentOS 7+
service ssh restart # untuk sistem lama
Langkah 3: Uji Akses SSH
Sekarang coba login kembali dengan user non-root:
ssh adminuser@ip_address
Kemudian coba login menggunakan akun root. Jika pengaturan berhasil, maka login sebagai root akan ditolak:
ssh root@ip_address
Permission denied
Langkah 4: Tambahan Keamanan dengan Key-Based Authentication
Selain menonaktifkan login root, disarankan juga menonaktifkan autentikasi berbasis password dan hanya mengizinkan akses SSH menggunakan key (kunci publik dan privat).
Langkah singkat:
- Buat SSH key pair di komputer lokal (
ssh-keygen) - Copy kunci publik ke server (
ssh-copy-id adminuser@ip_address) - Di file
/etc/ssh/sshd_config, ubah:
PasswordAuthentication no
- Restart layanan SSH
Tips Tambahan:
- Simpan backup credential user non-root di tempat aman
- Jangan hapus akun root, hanya nonaktifkan login via SSH
- Gunakan Fail2Ban untuk memblokir brute force login
- Implementasikan audit log dan monitoring
Dengan langkah-langkah ini, server menjadi jauh lebih sulit ditembus oleh penyerang. Bahkan jika seseorang mengetahui IP VPS, mereka tidak akan bisa menebak username dan password karena login root telah dimatikan.
Menonaktifkan akses root bukan berarti kehilangan kendali atas server. Sebaliknya, ini adalah langkah cerdas untuk memastikan kendali tetap berada di tangan yang benar, tanpa membuka peluang bagi pihak tak bertanggung jawab.
Jika sudah menerapkan ini, bisa dilanjutkan dengan pengamanan lanjutan seperti 2FA atau Port Knocking agar keamanan semakin maksimal.



