Đổi port SSH mặc định để bảo mật hệ thống,  làm khó khăn hơn cho các script độc hại hoặc nhân viên không mong muốn cố gắng để đăng nhập vào máy chủ CentOS của bạn. Từ CentOS 7 việc đổi port SSH có đôi chút khác biệt với các hệ điều hành cũ, để thực hiện đổi port SSH trên CentOS 7 bạn thực hiện như sau:

1- Update các bản vá cho hệ thống:

[root@localhost ~]# yum update -y​

2- Cấu hình SSH đổi port mong muốn

[root@localhost ~]# vi /etc/ssh/sshd_config

Mặc định là port 22 bạn sửa thành port mong muốn:

VD: ở đây muốn mở port 2220 cho dịch vụ SSH

Lưu lại cấu hình và khởi động lại dịch vụ SSH để nhận port mới.

[root@localhost ~]# systemctl restart sshd.service

Bạn có thể kiểm tra lại dịch vụ SSH đã nhận chính xác port mới chưa, bằng công cụ netstat. Nếu chưa có Netstat bạn có thể cài đặt bằng lệnh:

[root@localhost ~]# yum install net-tools -y

Sau đó kiểm tra các cổng đang mở.

[root@localhost ~]# netstat -tupln

Trường hợp CentOS của bạn có đang chạy SElinux bạn sẽ cần phải. Hoặc tắt SELinux, hoặc nếu vẫn muốn chạy SELinux đồng thời thì bạn cần cho phép các port mới được sử dụng cho ssh. Trước tiên cài đặt Semanage:

[root@localhost ~]# yum install policycoreutils-python​

Để xem các cổng SELinux đang được sử dụng cho chúng ta có thể chạy các lệnh tùy chọn:

[root@localhost ~]# semanage -l | grep ssh​

Trường hợp bạn thấy cổng 22 được liệt kê thì để thêm một cổng mới gõ lệnh sau:

Đầu tiên, xóa port 22:

[root@localhost ~]# semanage port -d -t ssh_port_t -p tcp 22

Và mở port 2220 cho dịch vụ SSH trên SELinux:

[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 2220

Bây giờ cho phép kiểm tra xem CentOS của bạn đang lắng nghe dịch vụ SSH trên cổng mới. Gõ lệnh lệnh netstat để kiểm tra:

[root@localhost ~]# netstat -tupln

Cuối cùng mở port mới cho dịch vụ SSH trên Firewall

[root@localhost ~]# firewall-cmd --permanent --add-port=2220/tcp

Khởi động lại Firewall để có hiệu lực

[root@localhost ~]# firewall-cmd --reload

Bây giờ bạn thử SSH xem kết quả, chúc bạn thực hiện thành công !