Secara default, SSH listen pada port 22. Mengubah port SSH default merupakan lapisan keamanan tambahan ke server Anda dengan mengurangi risiko serangan otomatis (brute force).

Selain mengubah port 22 untuk akses SSH, kita juga akan mengatur SSH server untuk memungkinkan akses ke port 22 hanya dari host tertentu.

Tutorial ini menjelaskan cara mengubah port SSH default di Linux. Kami juga akan menunjukkan kepada Anda cara mengkonfigurasi firewall untuk membuka port dan memungkinkan akses ke port SSH baru.

Kami juga sarankan Anda untuk menguji setiap tutorial atau panduan apapun yang ada di Internet di virtual machine (vmware atau virtualbox) sebelum menerapkan ke server produksi, agar tidak mengacaukan sistem yang aktif berjalan ketika ada kesalahan.

Anda bisa melihat cara installasi VMware di Ubuntu dan CentOS. Untuk cara installasi VirtualBox tersedia panduan untuk UbuntuFedora, dan CentOS

Mengubah Port SSH

Ikuti langkah-langkah di bawah ini untuk mengubah Port SSH di sistem Linux Anda:

1. Memilih Nomor Port Baru

Di Linux, nomor port di bawah 1024 dicadangkan untuk layanan “well-known” dan hanya bisa di lakukan oleh root. Meskipun Anda dapat menggunakan port dalam rentang 1-1024 untuk layanan SSH, untuk menghindari masalah dengan alokasi port di masa mendatang, disarankan untuk memilih port di atas 1024.

Dalam contoh ini akan mengubah port SSH ke 5522, Anda dapat memilih port manapun yang Anda suka.

2. Menyesuaikan Pengaturan Firewall

Sebelum mengubah port SSH, pertama Anda harus menyesuaikan ruleset di firewall untuk mengizinkan lalu lintas di port SSH yang baru.

Jika Anda menggunakan UFW, alat konfigurasi firewall default untuk Ubuntu jalankan perintah berikut untuk membuka port SSH baru:

sudo ufw allow 5522/tcp

Di CentOS alat manajemen firewall default adalah FirewallD. Untuk membuka port baru jalankan perintah berikut:

sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
sudo firewall-cmd --reload

Pengguna CentOS juga perlu menyesuaikan aturan SELinux untuk memungkinkan port SSH baru:

sudo semanage port -a -t ssh_port_t -p tcp 5522

Jika Anda menggunakan iptables sebagai firewall Anda, perintah berikut ini akan membuka port SSH baru:

sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

3. Konfigurasi SSH

Buka file konfigurasi SSH /etc/ssh/sshd_config dengan editor teks Anda:

sudo nano /etc/ssh/sshd_config

Cari baris yang dimulai dengan Port 22. Dalam kebanyakan kasus, baris ini akan dimulai dengan simbol hash #. Hapus hash # dan masukkan nomor port SSH baru yang akan digunakan sebagai ganti port SSH standar 22.

Port 5522

Berhati-hatilah saat memodifikasi file konfigurasi SSH. Konfigurasi yang salah dapat menyebabkan layanan SSH gagal untuk memulai.

Setelah selesai, simpan file dan mulai ulang layanan SSH untuk menerapkan perubahan:

sudo systemctl restart ssh

Di CentOS layanan ssh bernama sshd:

sudo systemctl restart sshd

Untuk memverifikasi bahwa daemon SSH listen pada port baru 5522 ketik:

ss -an | grep 5522

Output akan terlihat sebagai berikut

tcp   LISTEN      0        128            0.0.0.0:5522           0.0.0.0:*
tcp   ESTAB       0        0      192.168.121.108:5522     192.168.121.1:57638
tcp   LISTEN      0        128               [::]:5522              [::]:*

Menggunakan Port SSH Baru

Sekarang setelah Anda mengubah port SSH saat masuk ke mesin jarak jauh, Anda harus menentukan port baru.

Gunakan opsi -p <port_number> dan tentukan port:

ssh -p 5522 username@remote_host_or_ip

Kesimpulan

Dalam tutorial ini, Anda telah belajar cara mengubah port SSH di server Linux Anda. Anda mungkin juga ingin mengatur otentikasi berbasis kunci SSH dan terhubung ke server Linux tanpa memasukkan kata sandi.

Jika Anda secara teratur terhubung ke beberapa sistem, Anda dapat menyederhanakan alur kerja Anda dengan mendefinisikan semua koneksi Anda dalam file konfigurasi SSH.