Cara mengamankan SSH di VPS Linux

Oleh Tim Engineering ONIE · Diperbarui 12 November 2026 · Waktu baca 2 menit

Sebuah VPS publik menerima percobaan login otomatis dalam hitungan menit setelah online. Langkah-langkah berikut membuat SSH jauh lebih sulit diserang. Panduan ini ditulis untuk Ubuntu atau Debian. Jika Anda belum membuat server, Anda bisa menyewa VPS Linux dan mulai dari image yang bersih. Biarkan sesi SSH Anda yang sekarang tetap terbuka sampai Anda sudah menguji pengaturan baru dari jendela kedua.

1. Buat pengguna biasa dengan sudo

adduser deploy
usermod -aG sudo deploy

2. Gunakan kunci SSH, bukan sandi

Di komputer Anda sendiri:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

Login sekali dengan kunci untuk memastikan kunci berfungsi sebelum Anda mematikan login sandi.

3. Nonaktifkan login sandi dan root

Buat /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Periksa sintaksnya dan muat ulang layanan. Layanannya bernama ssh di Ubuntu dan Debian, serta sshd di sistem berbasis RHEL:

sudo sshd -t && sudo systemctl reload ssh

Buka terminal kedua dan login lagi. Baru setelah itu tutup sesi lama.

4. Aktifkan firewall

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Buka hanya port yang Anda perlukan, misalnya 80 dan 443 untuk server web. Anda juga bisa membatasi SSH ke alamat IP Anda sendiri dengan aturan firewall di konsol cloud.

5. Blokir kegagalan berulang dengan Fail2ban

sudo apt install -y fail2ban

Buat /etc/fail2ban/jail.local:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Pasang pembaruan keamanan secara otomatis

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. Tambahan opsional

  • Mengubah port SSH mengurangi kebisingan log, tetapi bukan tindakan keamanan dengan sendirinya.
  • Lindungi kunci privat dengan passphrase dan simpan cadangannya di tempat yang aman.
  • Tinjau login dengan last dan sudo journalctl -u ssh --since today.
  • Buat snapshot setelah server dikonfigurasi, agar Anda bisa memulihkan kondisi awal yang bersih.

Jika Anda terkunci, gunakan konsol browser di panel cloud Anda untuk login dan memperbaiki konfigurasi. Panduan perlindungan DDoS kami membahas lapisan pertahanan berikutnya.

Pertanyaan yang sering diajukan

Apakah aman menonaktifkan login root?

Aman, asalkan Anda lebih dulu membuat pengguna sudo dan menguji bahwa kuncinya berfungsi. Anda tetap bisa menjalankan perintah administratif dengan sudo.

Apakah saya perlu Fail2ban jika hanya memakai kunci?

Tidak wajib. Dengan login sandi dinonaktifkan, brute force tidak akan berhasil, tetapi Fail2ban tetap mengurangi kebisingan log dan beban server.

Bagaimana jika saya kehilangan kunci SSH?

Gunakan konsol di panel cloud Anda untuk login, tambahkan kunci publik baru ke ~/.ssh/authorized_keys, lalu hapus kunci yang lama.

Sumber dan bacaan lanjutan

Panduan VPS lainnya