Nonaktifkan login root dengan kata sandi
Mengapa login root dengan kata sandi berbahaya, apa bedanya opsi PermitRootLogin, dan cara menonaktifkannya tanpa kehilangan akses ke mesin.
Diperbarui 23 Agustus 2026
Semua orang tahu nama root: nama itu ada di setiap mesin dan memiliki izin penuh. Brute-forcer hanya punya satu hal tersisa untuk ditebak — kata sandi. Menonaktifkan login kata sandi untuk root menghilangkan seluruh kelas serangan dengan satu parameter.
Persiapan
Cadangan dulu, baru larangan. Urutannya kebalikan dari yang Anda ingin lakukan.
- Buat pengguna dengan sudo — pengguna dan sudo.
- Tambahkan kunci SSH Anda ke pengguna itu dan verifikasi login di jendela terminal terpisah.
- Pastikan
sudo -iberfungsi. - Baru sekarang ubah pengaturannya.
ssh artem@<address>
sudo whoami
Jika perintah kedua mengembalikan root, Anda punya cadangan.
Opsi konfigurasi
Di file /etc/ssh/sshd_config.d/99-hardening.conf:
| Nilai | Artinya |
|---|---|
PermitRootLogin yes | Semuanya diizinkan, termasuk kata sandi. Tidak ada yang membiarkannya seperti ini |
PermitRootLogin prohibit-password | Kunci berfungsi, kata sandi ditolak. Minimum yang masuk akal |
PermitRootLogin forced-commands-only | Hanya perintah yang telah ditentukan, untuk otomatisasi |
PermitRootLogin no | Root tidak bisa login lewat SSH sama sekali. Opsi paling ketat |
Kombinasi yang direkomendasikan:
PermitRootLogin prohibit-password
PasswordAuthentication no
Parameter kedua menutup login kata sandi untuk semua pengguna sekaligus, bukan hanya root. Untuk detail lebih lanjut, lihat Pengerasan SSH.
Terapkan dan verifikasi
sudo sshd -t
sudo systemctl restart ssh
sudo sshd -T | grep -i permitrootlogin
Dari jendela lain, periksa bahwa root tidak lagi menerima kata sandi dan pengguna Anda login dengan kunci:
ssh root@<address>
ssh artem@<address>
Memulai ulang sshd tidak memutus sesi saat ini — biarkan tetap terbuka sampai Anda selesai memeriksa.
Yang tetap tersedia
Perubahan ini hanya memengaruhi SSH. Kata sandi root masih diperlukan dan masih berfungsi:
- di konsol mesin, kedua tab — yang teks dan "Screen";
- saat login melalui disk pemulihan;
- untuk perintah
su -di dalam sistem.
Kata sandi itu sendiri disimpan terenkripsi dan ditampilkan oleh tombol di tab "Access" pada panel di /hosting/vds/m/<id>. Ini jalur darurat Anda, dan Anda tidak boleh kehilangannya — lihat kunci dan kata sandi cadangan.
Kesalahan umum
| Kesalahan | Konsekuensi | Solusi |
|---|---|---|
| Anda menonaktifkan root tetapi tidak pernah membuat pengguna dengan sudo | Tidak ada yang bisa mengelola mesin | Gunakan konsol panel dan buat pengguna |
| Kunci hanya ada untuk root | Pengguna baru tidak bisa login | Salin authorized_keys dan perbaiki izinnya |
| Pengaturan ditimpa oleh file lain | Aturan tidak berpengaruh | Periksa sshd -T, bukan filenya |
| Mengira larangan berlaku untuk konsol | Rasa aman yang keliru akan penguncian total | Konsol selalu berfungsi, memang begitu desainnya |
Jangan pernah menonaktifkan login root tanpa memverifikasi login alternatif di jendela sebelah. Pemeriksaannya butuh sepuluh detik; pemulihan melalui konsol jauh lebih lama.