Mengganti port ssh di CentOS 7

Bagaimana cara mengganti port ssh di sistem operasi linux CentOS 7 ?

 

SSH atau yang lebih di kenal dengan Secure shell, merupakan protokol jaringan kriptografi untuk komunikasi data antar perangkat komputer yang di nilai lebih aman. protokol ini banyak di gunakan di beberapa aplikasi moderen pada saat proses authentifikasi. Secara default ssh melakukan komunikasi melalui protokol TCP (Transmission Control Protocol) dengan menggunakan port 22 dan tentunya hampir semua pengguna ssh mengetahui port default tersebut.

Untuk itu dengan mengganti port default tersebut, dan membuat hanya anda yang mengetahui nomor portnya, maka hal ini di anggap akan meningkatkan penilaian sistem keamanan dari pada anda menggunakan port default yang sudah di ketahui oleh banyak pengguna.

Pada tutorial kali ini, kita akan membahas tengan cara mengganti port ssh default di perangkat virtual server yang menggunakan sistem operasi CentOS 7.

Sebelum memulai : 

Sebelum mulai mengikuti tutorial berikut, maka pastikan telah memiliki beberapa hal berikut :

  • Server vps atau dedicated server yang menggunakan sistem operasi CentOS 7
  • Akses sebagai root ke vps tersebut.

Tahapan

  1. Sesuaikan port baru di file konfigurasi ssh daemon
  2. Membuka port tersebut di firewal

Tutorial 

Mengganti konfigurasi port

Untuk mengganti port ssh, anda harus mengubah nilai port pada file konfigurasi ssh daemon  yang bisa di temukan di : /etc/ssh/sshd_config. namun sebelum melakukan perubahan apapun tentunya akan lebih baik apabila membuat file backup atas file tersebut, apabila terjadi kesalihan konfigurasi maka akan dapat di kembalikan seperti semula dengan mudah.

Untuk membuat file backup bisa dengan menggunakan perintah berikut :

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.orig.$(date +%F)

Dengan begitu anda telah memiliki file backup atas file sshd_config

Selanjutnya silahkan lakukan perubahan pada file /etc/ssh/sshd_config dengan mengguanakn editor yang sukai, namun dalam tutorial kali ini, saya akan menggunakan editor vim . apabila editor vim belum terinstall di mesin anda, maka silahakan lakukan instalasi terlebih dahulu dengan mengetik perintah berikut :

yum install vim  # lakukan hanya pada saat vim belum terinstall

Dan untuk meng-edit file config ssh  gunakan perintah berikut :

vim /etc/ssh/sshd_config

Selanjutnya, silahkan anda cari baris dengan tulisan : Port 22 atau #Port 22

Apaabila yang anda temukan adalah baris yang di awali dengan tanda # (tanda pagar) maka itu artinya baris tersebut di nonaktifkan atau hanya  komentar saja, silahkan hilangkan tanda # (tanda pagar) untuk mengaktifkan konfigurasi tersebut, dan selanjutnya  ganti nilai 22 dengan nilai port ssh yang anda kehendaki, misalkan Port 2222 dan simpan konfigurasi tersebut.

Menyesuaikan konfigurasi port di firewall

Umumnya di CentoOS instalasi baru akan menyertakan SELinux, SELinux atau Security Enhanced Linux merupakan  fitur keamanan yang ada secara default  pada keluarga distro RHEL, CentOS, Fedora dan seterusnya, dan apabila firewall di vps anda aktif, maka anda perlu mengkonfigurasikan port ssh baru tersebut di firewall agar di izinkan untuk beroperasi.

Secara default SELinux hanya mengizinkan port 22 untuk koneksi ke ssh, kita dapat mengganti port default tersebut dengan menggunakan perintah  berikut :

semanage port -a -t ssh_port_t -p tcp 2222

Selanjutnya, coba lakukan verifikasi apakah port 2222 sudah ada di list port untuk ssh dengan menggunakan perintah berikut :

semanage port -l | grep ssh

Tampilan outputnya :

ssh_port_t   tcp      2222, 22

Selanjutnya kita harus mengzinkan port 2222 untuk melewati firewall dengan perintah berikut :

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

Dan agar konfigurasi tersebut terimplementasikan ke firewall, jalankan perintah berikut :

firewall-cmd --reload

 

Terakhir, untuk memastikan seluruh konfigurasi tersebut terimplementasikan maka :

Lakukan restart ssh daemon-nya dengan perintah :

systemctl restart sshd.service

Dan lakukan verifikasi port berapa yang saat ini di gunakan oleh ssh daemon dengan perintah  :

ss -tnlp|grep ssh

Tampilan outputnya :

LISTEN  0  128     *:2222          *:*         users:(("sshd",pid=3414,fd=3))
LISTEN  0  128    :::2222         :::*         users:(("sshd",pid=3414,fd=4))

 

Troubleshoot

Ketika melakukan proses restart ssh dengan perintah : systemctl status sshd.service dan mendaptkan error Failed to start OpenSSH server daemon.

● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Tue 2018-02-06 13:47:26 UTC; 19s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 10871 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=255)
 Main PID: 10871 (code=exited, status=255)

Feb 06 13:47:26 vpn.frenzifed.com systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
Feb 06 13:47:26 vpn.frenzifed.com systemd[1]: Failed to start OpenSSH server daemon.
Feb 06 13:47:26 vpn.frenzifed.com systemd[1]: Unit sshd.service entered failed state.
Feb 06 13:47:26 vpn.frenzifed.com systemd[1]: sshd.service failed.
  • Umumnya hal ini lebih di karenakan firewall memblokir port ssh yang baru saja di tambahkan. oleh karena itu anda perlu membuka blokir port tersebut terlebih dahulu sebelum melakukan restart sshd services.

Author: Reza MNR

Reza MNR bagian dari warga negara indonesia yang baik, ramah tidak sombong dan suka menabung. keinginan mulai menulis blog untuk berbagi apa yang di ketahui, jika anda merasa ada yang kurang dari cara saya menyampaikan, mohon untuk tidak segan menyampaikan koreksi ke email admin(at)idweb.id

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.