SSH (Secure Shell) merupakan layanan paling penting dalam administrasi server Linux. Hampir seluruh administrator sistem menggunakan SSH untuk melakukan manajemen server secara remote, mulai dari konfigurasi layanan, monitoring sistem, hingga troubleshooting.
Pada lingkungan laboratorium sekolah, kompetisi LKS ITNSA, maupun UKK TJKT/TKJ, SSH menjadi salah satu layanan yang hampir selalu digunakan. Namun, banyak peserta mengalami kegagalan saat melakukan hardening SSH karena kesalahan konfigurasi yang menyebabkan akses remote terputus.
Masalah ini sering terjadi ketika administrator terlalu fokus pada aspek keamanan tanpa mempertimbangkan dampaknya terhadap akses manajemen server. Akibatnya, server memang menjadi lebih aman, tetapi tidak dapat diakses kembali.
Artikel ini membahas berbagai kesalahan konfigurasi SSH hardening yang paling sering terjadi pada Rocky Linux 10, lengkap dengan teknik diagnosis, troubleshooting, tools yang digunakan, serta langkah perbaikannya secara sistematis.
Mengapa SSH Hardening Sangat Penting?
SSH hardening bertujuan untuk meningkatkan keamanan akses remote dengan cara:
- Mengurangi risiko brute force attack
- Membatasi akses pengguna tertentu
- Menonaktifkan metode autentikasi yang lemah
- Mengubah konfigurasi default
- Mengaktifkan logging dan monitoring
Tanpa hardening, server rentan terhadap:
- Percobaan login massal
- Password guessing
- Credential stuffing
- Serangan bot otomatis
- Eksploitasi konfigurasi yang lemah
Namun hardening yang salah justru dapat menyebabkan administrator terkunci dari server.
Memahami File Konfigurasi SSH
Lokasi utama konfigurasi SSH Server:
/etc/ssh/sshd_config
Sebelum melakukan perubahan:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Validasi konfigurasi:
sshd -t
Reload layanan:
systemctl restart sshd
Cek status:
systemctl status sshd
Kesalahan #1: Menonaktifkan Root Login Tanpa Membuat User Administrator
Penyebab
Administrator langsung mengubah:
PermitRootLogin no
tetapi belum membuat user alternatif.
Dampak
Tidak dapat login ke server.
Diagnosis
Coba login menggunakan user biasa:
ssh admin@server
Jika gagal:
id admin
Solusi
Buat user administrator terlebih dahulu:
useradd admin
passwd admin
Tambahkan ke sudoers:
usermod -aG wheel admin
Kesalahan #2: Salah Menentukan Port SSH
Penyebab
Mengubah port:
Port 2222
namun lupa membuka firewall.
Dampak
SSH tidak dapat diakses.
Diagnosis
Cek port aktif:
ss -tulpn | grep ssh
atau
netstat -tulpn | grep ssh
Solusi
Buka firewall:
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload
Verifikasi:
firewall-cmd --list-all
Kesalahan #3: Firewall Memblokir SSH
Penyebab
Rule firewall tidak sesuai.
Diagnosis
Cek layanan:
firewall-cmd --list-services
Cek port:
firewall-cmd --list-ports
Solusi
Tambahkan service SSH:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
Kesalahan #4: SELinux Memblokir Port Baru SSH
Penyebab
SSH dipindahkan ke port selain default.
Contoh:
Port 2222
Diagnosis
Cek SELinux:
getenforce
Lihat port yang diizinkan:
semanage port -l | grep ssh
Solusi
Tambahkan port baru:
semanage port -a -t ssh_port_t -p tcp 2222
Verifikasi:
semanage port -l | grep ssh
Kesalahan #5: Salah Sintaks pada sshd_config
Penyebab
Kesalahan penulisan parameter.
Contoh:
PermitRootLogin none
Parameter valid:
PermitRootLogin no
Diagnosis
Gunakan:
sshd -t
Solusi
Perbaiki sintaks sesuai dokumentasi.
Kesalahan #6: Menonaktifkan Password Authentication Terlalu Cepat
Penyebab
Konfigurasi:
PasswordAuthentication no
sebelum public key terpasang.
Dampak
Semua user gagal login.
Solusi
Pastikan key SSH berfungsi:
ssh-copy-id admin@server
Uji login terlebih dahulu sebelum menonaktifkan password.
Kesalahan #7: Permission File SSH Salah
Diagnosis
ls -la ~/.ssh
Permission yang Benar
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Dampak
Public key diabaikan oleh SSH.
Kesalahan #8: Authorized Keys Salah Lokasi
Penyebab
File berada di lokasi berbeda.
Diagnosis
Cek:
grep AuthorizedKeysFile /etc/ssh/sshd_config
Solusi
Sesuaikan lokasi file dengan konfigurasi.
Kesalahan #9: Konfigurasi AllowUsers Terlalu Ketat
Contoh
AllowUsers admin
User lain otomatis ditolak.
Diagnosis
Periksa:
grep AllowUsers /etc/ssh/sshd_config
Solusi
Tambahkan user yang diperlukan:
AllowUsers admin operator
Kesalahan #10: DenyUsers Tidak Sengaja Memblokir Administrator
Contoh
DenyUsers admin
Dampak
Administrator tidak bisa login.
Solusi
Periksa kembali daftar user yang diblokir.
Kesalahan #11: SSH Service Tidak Berjalan
Diagnosis
systemctl status sshd
Solusi
Jalankan:
systemctl enable sshd
systemctl start sshd
Kesalahan #12: DNS atau Hostname Salah
Diagnosis
ping hostname
atau
nslookup hostname
Solusi
Perbaiki DNS server atau gunakan alamat IP langsung.
Kesalahan #13: Konfigurasi Fail2Ban Terlalu Agresif
Dampak
Administrator ikut terblokir.
Diagnosis
fail2ban-client status sshd
Solusi
Unban IP:
fail2ban-client set sshd unbanip 192.168.1.10
Kesalahan #14: Konfigurasi TCP Wrappers atau ACL Salah
Diagnosis
Periksa:
cat /etc/hosts.allow
cat /etc/hosts.deny
Solusi
Pastikan IP administrator diizinkan.
Kesalahan #15: Tidak Menguji Konfigurasi Sebelum Restart
Ini merupakan kesalahan paling fatal.
Best Practice
Selalu jalankan:
sshd -t
sebelum:
systemctl restart sshd
Tools Diagnosis SSH yang Wajib Dikuasai
1. ssh
Mode verbose:
ssh -v user@server
Lebih detail:
ssh -vvv user@server
2. journalctl
Melihat log SSH:
journalctl -u sshd
Realtime:
journalctl -u sshd -f
3. ss
Memeriksa port listening:
ss -tulpn
4. firewall-cmd
Diagnosa firewall:
firewall-cmd --list-all
5. semanage
Diagnosa SELinux:
semanage port -l
6. tcpdump
Monitoring trafik SSH:
tcpdump -i any port 22
7. nmap
Scan port SSH:
nmap -p 22 server-ip
Langkah Troubleshooting Cepat Saat SSH Tidak Bisa Diakses
Langkah 1
Cek service:
systemctl status sshd
Langkah 2
Validasi konfigurasi:
sshd -t
Langkah 3
Periksa port listening:
ss -tulpn | grep ssh
Langkah 4
Periksa firewall:
firewall-cmd --list-all
Langkah 5
Periksa SELinux:
getenforce
Langkah 6
Periksa log:
journalctl -u sshd
Langkah 7
Uji koneksi:
ssh -vvv user@server
Studi Kasus UKK dan LKS ITNSA
Seorang peserta mengubah konfigurasi berikut:
Port 2222
PermitRootLogin no
PasswordAuthentication no
Setelah restart, server tidak dapat diakses.
Analisis:
- Port baru belum dibuka di firewall
- SELinux belum dikonfigurasi
- Public key belum dipasang
- Root login sudah dinonaktifkan
Solusi:
- Login melalui console.
- Buka firewall.
- Tambahkan port SELinux.
- Pasang SSH key.
- Uji koneksi.
- Restart ulang layanan.
Kasus seperti ini sangat sering muncul pada simulasi UKK maupun LKS.
Best Practice SSH Hardening Rocky Linux 10
- Gunakan SSH key authentication.
- Nonaktifkan root login.
- Gunakan user administrator terpisah.
- Aktifkan logging.
- Gunakan Fail2Ban.
- Batasi akses menggunakan AllowUsers.
- Ganti port default jika diperlukan.
- Terapkan firewall dan SELinux dengan benar.
- Backup konfigurasi sebelum perubahan.
- Selalu lakukan pengujian sebelum restart service.

Kesimpulan
SSH hardening merupakan langkah penting untuk meningkatkan keamanan server Rocky Linux 10. Namun, kesalahan konfigurasi kecil dapat menyebabkan administrator kehilangan akses ke server. Dengan memahami kesalahan yang paling sering terjadi, menggunakan tools diagnosis yang tepat, dan menerapkan prosedur troubleshooting yang sistematis, peserta UKK TJKT maupun LKS ITNSA dapat menyelesaikan masalah dengan cepat dan akurat.
Kunci utama keberhasilan bukan hanya menghafal perintah, tetapi memahami hubungan antara SSH, firewall, SELinux, user management, dan network connectivity sehingga proses troubleshooting dapat dilakukan secara logis dan efisien.
FAQ
Pertanyaan: Apa tujuan utama SSH hardening?
Jawaban: Meningkatkan keamanan akses remote dengan mengurangi risiko serangan brute force, credential theft, dan akses tidak sah.
Pertanyaan: Mengapa SSH tidak bisa diakses setelah mengganti port?
Jawaban: Biasanya karena firewall atau SELinux belum dikonfigurasi untuk mengizinkan port baru.
Pertanyaan: Perintah apa yang paling penting sebelum restart SSH?
Jawaban: sshd -t untuk memvalidasi konfigurasi dan mendeteksi kesalahan sintaks.
Pertanyaan: Apakah root login sebaiknya dinonaktifkan?
Jawaban: Ya, tetapi pastikan sudah tersedia user administrator dengan hak sudo sebelum menonaktifkannya.
Pertanyaan: Tools apa yang paling sering digunakan untuk troubleshooting SSH?
Jawaban: ssh -vvv, journalctl, ss, firewall-cmd, semanage, tcpdump, dan nmap.
Pertanyaan: Apa penyebab public key authentication gagal?
Jawaban: Umumnya karena permission folder .ssh atau file authorized_keys tidak sesuai standar keamanan SSH.
Sudah pernah mengalami server tidak bisa diakses setelah melakukan SSH hardening? Bagikan pengalaman, solusi, atau pertanyaan Anda di kolom komentar.
Jika artikel ini bermanfaat, jangan lupa membagikannya kepada rekan guru TJKT, peserta UKK, peserta LKS ITNSA, maupun administrator server lainnya. Jelajahi juga artikel terkait Rocky Linux 10, Linux Server, Cybersecurity, dan Administrasi Jaringan untuk meningkatkan keterampilan troubleshooting dan keamanan infrastruktur IT Anda.