Memperbolehkan koneksi SSH melewati firewall di Linux

Dari komentar mas Khan dan mbak Intan yang sebelumnya berusaha mengganti port SSH di Linux tampaknya yang sering terlupakan itu ikut mengubah ijin koneksi SSH lewat port berapa. Ini kalau dilewatkan dan setiap usaha kita menyambungkan ke VPS lewat SSH baik port lama maupun port baru pasti gagal. Nah… tutorial kali ini adalah untuk caranya. 🙂

Di Linux sendiri memang ada beberapa jenis firewall tergantung pakai distro Linux apa, dan akan saya bahas dari yang paling populer dulu. Untuk urusan konfigurasi firewall biasakan cek dua atau tiga kali dulu apakah sudah benar kodenya, salah – salah ya kita ditendang keluar dari VPSnya (lagi). 😛

iptables

iptables adalah firewall sejuta umat, hampir pasti distro Linux anda akan menggunakan software ini sebagai firewall defaultnya. Cara pakainya tinggal eksekusi perintah berikut:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Nah… perhatikan pada kata --dport dan --sport, angka setelahnya menunjukkan pada port berapa iptables mengijinkan koneksi SSH. Silahkan anda ganti ke angka port baru SSHnya.

Setelah itu silahkan simpan dan reload konfigurasi iptables:

/etc/init.d/iptables save
service iptables restart

ufw

Sedangkan firewall ini saya cuma tahu dipakai pada Ubuntu. Menurut saya pada ufw perintah whitelist SSHnya lebih mudah:

ufw allow 22

Dimana 22 itu adalah port default SSH dan tentu saja bisa diganti.

Kemudian muat ulang konfigurasi barunya:

ufw reload

Benar – benar sangat sederhana.

firewalld

Dan firewalld adalah yang baru dan saya sendiri cuma menemukannya di CentOS 7. Ini caranya untuk mengijinkan SSH:

firewall-cmd --permanent --zone=public --add-service=ssh

atau

firewall-cmd --permanent --zone=public --add-port=22/tcp

Sama, jangan lupa ganti angkanya kalau bukan pakai port default SSH.

Diakhiri dengan reload setting firewall yang baru agar segera diterapkan:

firewall-cmd --reload

Saya masih belajar kalau firewalld, sudah terbiasa pakai iptables. Haha. 😀

Tips

Setelah mengganti port SSH atau layanan lain jangan biasakan menutup koneksi yang sudah ada dan aktif. Silahkan tes dengan membuka sesi koneksi baru ke port yang baru juga. Baik setelah mengganti portnya saja juga saat menyetel firewallnya. Jadi 2 tahap pengujiannya. Kalau berhasil tersambung berarti sukses diganti portnya dan diperbolehkan aksesnya melewati firewall.

Semoga bermanfaat. 🙂

*Ga penting juga, tapi baca masalah dari mbak Intan dan mas Khan saya jadi ingat awal – awal belajar VPS dulu. 😛 Tampaknya gagal koneksi ke VPS karena salah setting merupakan hal yang pasti dialami. Dari pengalaman sih kalau ga salah ga belajar. Haha. 😀

9 Comments

  1. mas saya mau tanya kalo saya install ubuntu server di pc trus saya install ssh cara biar bisa di remote ssh nya melalui jaringan internet gimana ya ?

    1. Maksudnya ini PC di rumah terus ingin di SSH dari luar? Ini ISPnya pakai IP public tidak mas? Port forwarding perlu diaktifkan di modemnya.

  2. saya pake isp speedy nah saya punya pc di install ubuntu server 16 saya install ssh tapi tidak bisa di remote dari luar nah saya masih belum paham cara port forwading di modem atau di pc server saya kira kira ada ga ya mas tutorial nya cara port forwading dari pc server nya biar ssh nya bsa di remote dari luar?

    1. Saya belum ada tutorialnya mas. Tapi butuh DDNS supaya server dirumah bisa diakses dari luar, atau mas sewa public IP dari ISPnya. Port Forwarding di modemnya juga perlu disetting.

  3. mas saya kan pake port 22 dan 243 buat ssh, setelah install vestacp ternyata cuma port 22 yang bisa di akses. supaya port 243 juga bisa di akses (buat cadangan) gmana mas?
    selain itu saya juga pake xrdp buat remote dekstop, sebelumnya bisa di pake. setelah install vestacp kaga bisa di pake juga, apakah saya harus buka port nya xrdp juga?

  4. kq saya bingung ya dari banyak tutorial tentang iptables disini menyimpannya ada yang

    /usr/libexec/iptables/iptables.init save

    ada juga yang

    iptables save

    dan sekarang

    /etc/init.d/iptables save

    coba dijelaskan lebih detail mas mengenai ini. karena bikin bingung untuk orang awam seperti saya

    1. Semuanya sama saja kok mas, cuma beda di detailnya.

      Yang pertama itu menjalankan iptables langsung dari programnya.

      Yang kedua itu eksekusi dari alias iptables.

      Yang ketiga ini yang sebenarnya dipanggil format kedua diatas.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *