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
sudojika 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:
- user
deploysudah dibuat, - user
deploysudah masuk groupsudo, - Anda sudah berhasil login memakai
deploy, sudodari userdeployberjalan normal.
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
rootakan ditolak, - login harian harus memakai user biasa seperti
deploy, - hak administratif tetap bisa dipakai melalui
sudo.
Contoh workflow yang benar setelah ini
- Login PuTTY sebagai
deploy - Masuk ke server
- Jalankan command biasa untuk kerja harian
- Gunakan
sudohanya jika diperlukan
Kesalahan umum yang perlu dihindari
- Disable root login sebelum user
deploybisa dipakai - Lupa menyimpan file
sshd_config - Lupa restart service SSH setelah mengubah konfigurasi
- Tidak menguji login
deploysetelah 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.