Di server baru, bot mencoba masuk sebagai root sejak jam-jam pertama, dengan ribuan kata sandi. Dua langkah hampir sepenuhnya menghentikan mereka: Anda bekerja dengan pengguna biasa yang menjadi administrator hanya saat diminta (sudo), dan server hanya menerima login dengan kunci SSH, bukan kata sandi. Panduan ini menganggap Anda sudah mengikuti Server VPS: login pertama lewat SSH dan masuk sebagai root dengan kunci Anda.
Yang akan Anda capai
- punya pengguna sendiri, dengan hak administrasi melalui
sudo; - masuk dengan pengguna itu menggunakan kunci SSH;
- menonaktifkan login langsung sebagai root dan login dengan kata sandi, tanpa terkunci di luar.
Sebelum memulai
- Anda masuk ke server sebagai root, dengan kunci SSH (langkah D di Server VPS: login pertama lewat SSH).
- Biarkan satu sesi SSH sebagai root tetap terbuka selama Anda mengubah pengaturan. Jika ada yang salah, Anda memperbaikinya dari sesi itu. Pengujian dilakukan dari jendela baru.
- Pada contoh, pengguna baru bernama
ana, dan203.0.113.7adalah IP server.
Langkah-langkah
A. Membuat pengguna
Ubuntu dan Debian:
adduser ana usermod -aG sudo anaaddusermeminta kata sandi untukanadan beberapa data opsional (Anda bisa menekan Enter). Kata sandi ini diperlukan untuksudo. Jika di Debian muncul pesan bahwa grupsudoatau perintahsudotidak ada, pasang dulu denganapt install sudo.AlmaLinux dan Rocky:
adduser ana passwd ana usermod -aG wheel anaDi sistem ini, grup administrator bernama
wheel.
B. Memberikan kunci SSH Anda
- Salin kunci publik dari root ke
ana, dengan hak akses yang benar:mkdir -p /home/ana/.ssh cp /root/.ssh/authorized_keys /home/ana/.ssh/ chown -R ana:ana /home/ana/.ssh chmod 700 /home/ana/.ssh chmod 600 /home/ana/.ssh/authorized_keys - Dari jendela terminal baru di komputer Anda, masuk sebagai
ana:ssh ana@203.0.113.7 Periksa
sudo:sudo whoamiSetelah kata sandi
ana, harus munculroot. Jika berhasil, lanjutkan. Jika tidak, perbaiki dari sesi root yang masih terbuka.
C. Menonaktifkan login sebagai root dan dengan kata sandi
- Di sesi root, buat file pengaturan terpisah untuk SSH:
nano /etc/ssh/sshd_config.d/00-securizare.conf Tulis di dalamnya:
PermitRootLogin no PasswordAuthentication no KbdInteractiveAuthentication noSimpan dengan Ctrl+O, Enter, lalu keluar dengan Ctrl+X. Jika
nanotidak ada (bisa terjadi di AlmaLinux dan Rocky), pasang dengandnf install nano.Nama file sengaja diawali
00-: SSH memakai nilai pertama yang ditemukan untuk setiap pengaturan, dan file disshd_config.ddibaca menurut urutan abjad. Pada beberapa image, file seperti50-cloud-init.confmengaktifkan login dengan kata sandi; file Anda, yang dibaca lebih dulu, yang berlaku.Periksa pengaturan sebelum diterapkan:
sshd -t && sshd -T | grep -Ei 'permitrootlogin|passwordauthentication'Anda harus melihat
permitrootlogin nodanpasswordauthentication no, tanpa error apa pun.- Terapkan:
- Ubuntu dan Debian:
systemctl restart ssh - AlmaLinux dan Rocky:
systemctl restart sshd
- Ubuntu dan Debian:
D. Memastikan Anda tidak terkunci di luar
- Jendela baru:
ssh ana@203.0.113.7harus berhasil, dengan kunci. - Jendela baru:
ssh root@203.0.113.7harus ditolak. - Baru sekarang tutup sesi root yang dibuka di awal. Mulai sekarang, perintah administrasi dijalankan sebagai
ana, dengansudodi depannya.
Perlu diketahui
- Setiap komputer punya kuncinya sendiri. Untuk laptop kantor dan laptop di rumah, buat kunci masing-masing (
ssh-keygendi setiap komputer) dan tambahkan setiap kunci publik di baris baru dalam/home/ana/.ssh/authorized_keys. Jika satu komputer hilang, Anda cukup menghapus barisnya. - Untuk orang lain, pengguna lain. Jangan berbagi akun
ana: buat pengguna sendiri untuk masing-masing, dengansudohanya jika memang diperlukan. - Port SSH. Memindahkan SSH dari port 22 ke port lain mengurangi kebisingan di log, tetapi bukan perlindungan tersendiri; kuncilah perlindungannya. Jika Anda memindahkannya, buka dulu port baru di firewall (lihat Server VPS: update dan firewall).
Jika ada kendala
ssh ana@…meminta kata sandi, padahal kunci sudah dipasang. Hak akses di/home/ana/.sshsalah atau pemiliknya bukanana. Ulangi langkah 3 dari sesi root.- “Permission denied (publickey)” untuk
ana. Kunci publik tidak ada diauthorized_keysatau Anda memakai komputer lain. Periksa dengancat /home/ana/.ssh/authorized_keysdari sesi root. sudomenampilkan “ana is not in the sudoers file”. Pengguna tidak ada di grupsudo(atauwheel). Ulangi langkah 1 atau 2, lalu keluar dan masuk lagi sebagaiana.- Anda menutup semua sesi dan sama sekali tidak bisa masuk. Kami tidak masuk ke server Anda. Hubungi kami: jika Anda punya backup otomatis atau snapshot terbaru, kami pulihkan server dari situ; jika tidak, kami jelaskan pilihan yang Anda miliki.
