SSH

# Cara Mengubah Port SSH di linux

Table of Contents

Ngubah port SSH di Debian bisa mengurangi percobaan brute-force di port default 22 buat keamanan tambahan lah. Hati-hati bang, salah-salah bisa kekunci server lu awokwok. Disini w testing (ga testing sih, langsung di prod kok awokwok) nya make Debian 12, tapi alurnya masih sama lah untuk versi Debian lain atau distro turunan kek Ubuntu.

1) Cek konfigurasi SSH saat ini

Terminal window
sudo ss -tulpn | grep ssh

atau:

Terminal window
sudo grep -E '^(#)?Port' /etc/ssh/sshd_config

2) Ubah port SSH

Edit file konfigurasi:

Terminal window
sudo nano /etc/ssh/sshd_config

Cari baris:

#Port 22

Ubah menjadi, eee contoh:

Port 2222 # Ganti 2222 dengan port yang diinginkan

Gunakan port di atas 1024 dan hindari port umum lain atau gampang ketebak.

3) Pastikan konfigurasi valid

Terminal window
sudo sshd -t

Kalo gada output, konfigurasi valid.

4) Buka port baru di firewall

Kalo make UFW:

Terminal window
sudo ufw allow 2222/tcp
sudo ufw status

Kalo make iptables (contoh sederhana)

Terminal window
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

5) Restart layanan SSH

Pada Debian modern biasanya:

Terminal window
sudo systemctl restart ssh
sudo systemctl status ssh --no-pager

6) Uji koneksi di terminal baru

Jangan tutup sesi lama. Uji dulu (takutnya salah konfigurasi awokwok):

Terminal window
ssh -p 2222 username@ip-server

Jika berhasil login, perubahan aman.

7) (Opsional) Tutup port lama 22

Setelah port baru dipastikan berjalan:

UFW

Terminal window
sudo ufw delete allow 22/tcp

iptables

Atur rule agar port 22 tidak lagi dibuka.

Hardening tambahan (disarankan)

Edit /etc/ssh/sshd_config:

PermitRootLogin no # Nonaktifkan login root langsung, sebaiknya jangan gegabah
PasswordAuthentication no # Nonaktifkan login password, pakai SSH key saja, sebaiknya jangan gegabah
PubkeyAuthentication yes # Pastikan SSH key diizinkan

Lalu reload/restart SSH:

Terminal window
sudo systemctl restart ssh

Pastikan kunci SSH sudah terpasang sebelum menonaktifkan password login.

Troubleshooting

  • Koneksi timeout: port baru belum dibuka di firewall/security group.
  • Connection refused: service ssh tidak aktif atau port belum diterapkan.
  • Salah konfigurasi: cek dengan sudo sshd -t dan log:
    Terminal window
    sudo journalctl -u ssh -n 100 --no-pager

Rollback darurat

Jika gagal login lewat port baru, akses console VPS/lokal lalu kembalikan:

Port 22

Restart service:

Terminal window
sudo systemctl restart ssh

Dengan langkah di atas, port SSH di Debian dapat diganti dengan aman dan lebih rapi dari sisi keamanan dasar.

(Opsional) Aktifkan Fail2ban untuk SSH

Tambahkan Fail2ban untuk memblokir IP yang mencoba login berulang kali (brute-force) ke SSH.

Install paket:

Terminal window
sudo apt update
sudo apt install fail2ban -y

Buat konfigurasi lokal agar tidak mengubah file bawaan:

Terminal window
sudo nano /etc/fail2ban/jail.local

Isi minimal (sesuaikan port SSH baru):

[sshd]
enabled = true
port = 2222
logpath = %(sshd_log)s
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h

Aktifkan dan jalankan service:

Terminal window
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
sudo systemctl status fail2ban --no-pager

Cek status jail SSH:

Terminal window
sudo fail2ban-client status
sudo fail2ban-client status sshd

Alur Fail2ban: Kalo ada IP yang gagal login lebih dari maxretry dalam findtime, IP itu bakal diblokir selama bantime. Jadi, ini nambah lapisan keamanan buat SSH lu.

Gitulah pokoknya, inii catetan w, jadi kalimatnya diasikin sendiri aja awokwok

Dika Ardianta

Terima kasih telah membaca artikel di website ini. Jangan ragu untuk menjelajahi artikel lainnya!

About Me Follow me on Sosmed


More Posts

Comments