Pilih paket

Server VPS: pengguna biasa dan SSH hanya dengan kunci

Buat pengguna sudo, pasang kunci SSH, matikan login root dan login dengan kata sandi, di Ubuntu, Debian, AlmaLinux, atau Rocky, tanpa terkunci di luar.

  • Diperbarui
panduan · server vps
Langkah
14
Waktu baca
4mnt
Bagian
5
Mulai panduan

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, dan 203.0.113.7 adalah IP server.

Langkah-langkah

A. Membuat pengguna

  1. Ubuntu dan Debian:

    adduser ana
    usermod -aG sudo ana

    adduser meminta kata sandi untuk ana dan beberapa data opsional (Anda bisa menekan Enter). Kata sandi ini diperlukan untuk sudo. Jika di Debian muncul pesan bahwa grup sudo atau perintah sudo tidak ada, pasang dulu dengan apt install sudo.

  2. AlmaLinux dan Rocky:

    adduser ana
    passwd ana
    usermod -aG wheel ana

    Di sistem ini, grup administrator bernama wheel.

B. Memberikan kunci SSH Anda

  1. 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
  2. Dari jendela terminal baru di komputer Anda, masuk sebagai ana:
    ssh ana@203.0.113.7
  3. Periksa sudo:

    sudo whoami

    Setelah kata sandi ana, harus muncul root. Jika berhasil, lanjutkan. Jika tidak, perbaiki dari sesi root yang masih terbuka.

C. Menonaktifkan login sebagai root dan dengan kata sandi

  1. Di sesi root, buat file pengaturan terpisah untuk SSH:
    nano /etc/ssh/sshd_config.d/00-securizare.conf
  2. Tulis di dalamnya:

    PermitRootLogin no
    PasswordAuthentication no
    KbdInteractiveAuthentication no

    Simpan dengan Ctrl+O, Enter, lalu keluar dengan Ctrl+X. Jika nano tidak ada (bisa terjadi di AlmaLinux dan Rocky), pasang dengan dnf install nano.

    Nama file sengaja diawali 00-: SSH memakai nilai pertama yang ditemukan untuk setiap pengaturan, dan file di sshd_config.d dibaca menurut urutan abjad. Pada beberapa image, file seperti 50-cloud-init.conf mengaktifkan login dengan kata sandi; file Anda, yang dibaca lebih dulu, yang berlaku.

  3. Periksa pengaturan sebelum diterapkan:

    sshd -t && sshd -T | grep -Ei 'permitrootlogin|passwordauthentication'

    Anda harus melihat permitrootlogin no dan passwordauthentication no, tanpa error apa pun.

  4. Terapkan:
    • Ubuntu dan Debian: systemctl restart ssh
    • AlmaLinux dan Rocky: systemctl restart sshd

D. Memastikan Anda tidak terkunci di luar

  1. Jendela baru: ssh ana@203.0.113.7 harus berhasil, dengan kunci.
  2. Jendela baru: ssh root@203.0.113.7 harus ditolak.
  3. Baru sekarang tutup sesi root yang dibuka di awal. Mulai sekarang, perintah administrasi dijalankan sebagai ana, dengan sudo di depannya.

Perlu diketahui

  • Setiap komputer punya kuncinya sendiri. Untuk laptop kantor dan laptop di rumah, buat kunci masing-masing (ssh-keygen di 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, dengan sudo hanya 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/.ssh salah atau pemiliknya bukan ana. Ulangi langkah 3 dari sesi root.
  • “Permission denied (publickey)” untuk ana. Kunci publik tidak ada di authorized_keys atau Anda memakai komputer lain. Periksa dengan cat /home/ana/.ssh/authorized_keys dari sesi root.
  • sudo menampilkan “ana is not in the sudoers file”. Pengguna tidak ada di grup sudo (atau wheel). Ulangi langkah 1 atau 2, lalu keluar dan masuk lagi sebagai ana.
  • 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.
Dukungan

Mentok? Kita selesaikan bersama.

Tulis langkah mana yang tidak berhasil dan, jika bisa, kirimkan tangkapan layar. Kami akan membalas pada jam kerja.

Telepon dan WhatsApp+40 775 396 021
Jam kerjaSenin–Jumat, 09.00–18.00 waktu Rumania (14.00–23.00 WIB; saat musim panas Eropa 13.00–22.00 WIB)

Jangan pernah mengirimkan kata sandi kepada kami lewat WhatsApp atau email. Informasi apa yang membantu kami menyelesaikan masalah sekaligus: cara meminta bantuan.