Đổi port SSH trên Linux là quá trình thay cổng TCP mặc định 22 của OpenSSH Server bằng một cổng tùy chỉnh như 2222. Để thực hiện an toàn, quản trị viên cần cập nhật sshd_config, mở Firewall, kiểm tra cấu hình, reload dịch vụ và xác nhận kết nối SSH mới trước khi đóng phiên hiện tại.
Đổi Port SSH là gì? Có thực sự an toàn hơn?
SSH (Secure Shell) là giao thức mã hóa cho phép quản trị viên điều khiển máy chủ Linux từ xa. Theo mặc định, SSH sử dụng cổng TCP 22.
Sau khi đổi sang cổng 2222, bạn cần chỉ định cổng mới khi kết nối. Việc thay đổi này giúp giảm lượng bot tự động quét cổng 22, nhưng không thể ngăn chặn hoàn toàn các cuộc tấn công.
Để bảo vệ VPS tốt hơn, bạn nên kết hợp SSH Key, tắt đăng nhập root và cấu hình Firewall giới hạn truy cập.
Chuẩn bị trước khi đổi Port SSH
Nếu mới dùng dòng lệnh, hãy xem trước bài quản trị VPS Linux.
Kiểm tra dịch vụ và cổng hiện tại: Ubuntu/Debian đặt tên service là ssh, còn CentOS/AlmaLinux/Rocky là sshd.
cat /etc/os-release
sudo systemctl status ssh
sudo ss -tlnp | grep ssh
sudo sshd -T | grep '^port'
Tiếp theo, chọn một cổng mới chưa được ứng dụng khác sử dụng. Ví dụ trong bài viết này, chúng ta sử dụng cổng 2222.
Kiểm tra cổng trước khi sử dụng:
sudo ss -tulnp | grep ':2222 '
Nếu không có kết quả, cổng 2222 có thể đang trống. Hãy sao lưu cấu hình SSH trước khi chỉnh sửa:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Lưu ý: Không đóng phiên SSH hiện tại trong suốt quá trình thực hiện. Đồng thời, hãy đảm bảo VPS có VNC hoặc Web Console để khôi phục quyền truy cập nếu xảy ra lỗi.

Đổi Port SSH bằng tệp sshd_config
Tệp /etc/ssh/sshd_config chứa cấu hình của SSH Server. Bạn cần chỉnh sửa tệp này để thay đổi cổng lắng nghe mặc định.
Mở tệp cấu hình bằng Nano:
sudo nano /etc/ssh/sshd_config
Tìm dòng #Port 22 và thay đổi thành:
Port 2222
Trong quá trình thử nghiệm, bạn có thể khai báo đồng thời hai cổng để duy trì kết nối cũ:
Port 22
Port 2222
Sau khi lưu cấu hình, hãy kiểm tra cú pháp để tránh lỗi khiến dịch vụ SSH không thể khởi động:
sudo sshd -t
sudo sshd -T | grep '^port'
Nếu lệnh sshd -t không hiển thị lỗi, cấu hình đã hợp lệ.
Lưu ý: Trên CentOS, AlmaLinux hoặc Rocky Linux bật SELinux, bạn cần khai báo cổng mới trước khi nạp lại SSH:
sudo semanage port -a -t ssh_port_t -p tcp 2222

Mở Port mới trên Firewall
Sau khi thay đổi cấu hình SSH, bạn cần mở cổng 2222 trên Firewall. Nếu không thực hiện bước này, kết nối từ bên ngoài có thể bị chặn.
Mở cổng SSH bằng UFW trên Ubuntu/Debian
Kiểm tra trạng thái Firewall:
sudo ufw status verbose
Cho phép kết nối TCP qua cổng 2222:
sudo ufw allow 2222/tcp
Mở cổng SSH bằng Firewalld trên CentOS/AlmaLinux
Với hệ thống sử dụng Firewalld, chạy các lệnh sau để thêm cổng mới và tải lại Firewall:
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
Kiểm tra Cloud Firewall và Security Group
Nếu nhà cung cấp VPS có Security Group hoặc Cloud Firewall riêng, hãy thêm quy tắc Inbound cho phép TCP 2222.
Đây là bước thường bị bỏ sót: dù UFW hoặc Firewalld đã mở cổng, VPS vẫn có thể không kết nối được nếu tường lửa bên ngoài chưa cho phép truy cập.

Reload SSH và xác nhận cổng mới
Sau khi cấu hình Firewall, hãy nạp lại dịch vụ SSH để áp dụng cổng mới.
Ubuntu/Debian
sudo systemctl reload ssh
CentOS/AlmaLinux/Rocky Linux
sudo systemctl reload sshd
Trên một số phiên bản Ubuntu sử dụng ssh.socket, nếu SSH vẫn lắng nghe cổng cũ, hãy kiểm tra và nạp lại socket:
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
sudo systemctl restart ssh
Kiểm tra lại cổng SSH đang lắng nghe:
sudo ss -tlnp | grep ssh
Nếu kết quả hiển thị địa chỉ có cổng :2222 ở trạng thái LISTEN, SSH đã lắng nghe trên cổng mới.
Kiểm tra kết nối SSH từ máy tính cá nhân
Trước khi đăng nhập, bạn có thể kiểm tra cổng mới bằng công cụ Netcat:
nc -zv SERVER_IP 2222
Một số kết quả thường gặp:
- succeeded: Cổng kết nối thành công.
- Connection refused: SSH chưa lắng nghe trên cổng mới.
- Connection timed out: Firewall hoặc Security Group có thể đang chặn kết nối.
Sau đó, mở một cửa sổ Terminal mới và đăng nhập bằng cổng 2222:
ssh -p 2222 username@SERVER_IP
Sau khi đăng nhập thành công, kiểm tra tài khoản hiện tại và quyền sudo:
whoami
sudo -v
Quan trọng: Hãy giữ nguyên Terminal SSH cũ và chỉ đóng phiên này sau khi đã xác nhận đăng nhập thành công bằng cổng 2222. Đây là cách hạn chế nguy cơ mất quyền truy cập VPS.


Đóng cổng SSH 22 sau khi kiểm tra
Khi đã xác nhận cổng 2222 hoạt động ổn định, bạn có thể đóng cổng 22 để hạn chế truy cập không cần thiết.
Đối với UFW
sudo ufw delete allow 22/tcp
Đối với Firewalld
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload
Đồng thời, hãy xóa dòng Port 22 trong sshd_config nếu trước đó bạn đã khai báo hai cổng. Không đóng cổng cũ trước khi xác nhận kết nối mới hoạt động.
Lỗi thường gặp khi đổi Port SSH
| Lỗi | Nguyên nhân | Cách xử lý |
|---|---|---|
| Connection refused | SSH chưa lắng nghe cổng mới. | Kiểm tra sshd_config, dịch vụ SSH và SELinux. |
| Connection timed out | Firewall hoặc Security Group chặn kết nối. | Mở đúng TCP 2222 trên các lớp Firewall. |
| Permission denied | Sai tài khoản, mật khẩu hoặc SSH Key. | Kiểm tra username và thông tin xác thực. |
Nếu không thể kết nối sau khi đổi cổng, hãy sử dụng VNC hoặc Web Console của nhà cung cấp VPS để truy cập máy chủ và khôi phục cấu hình.
Khôi phục tệp cấu hình đã sao lưu bằng lệnh:
sudo cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config
sudo systemctl restart ssh
Trên CentOS hoặc AlmaLinux, hãy thay dịch vụ ssh bằng sshd nếu hệ thống sử dụng tên dịch vụ này.
Tăng cường bảo mật SSH sau khi đổi Port
Đổi cổng SSH chỉ là bước bảo vệ ban đầu. Để tăng cường an toàn cho VPS Linux, bạn nên thực hiện thêm các biện pháp sau:
- Sử dụng SSH Key: Tạo khóa Ed25519 bằng
ssh-keygen -t ed25519, sau đó cấu hình đăng nhập bằng khóa. - Tắt đăng nhập root: Tạo tài khoản riêng có quyền sudo và đặt
PermitRootLogin nosau khi kiểm tra đăng nhập. - Cấu hình Fail2ban: Cập nhật cổng SSH mới trong cấu hình jail để chặn các lần đăng nhập thất bại.
- Giới hạn địa chỉ IP: Chỉ cho phép IP đáng tin cậy truy cập nếu bạn có IP tĩnh.
- Theo dõi nhật ký: Kiểm tra lịch sử đăng nhập và cập nhật OpenSSH thường xuyên.
Đặc biệt, trước khi tắt xác thực bằng mật khẩu, hãy đảm bảo SSH Key đã hoạt động và bạn vẫn có phương án truy cập dự phòng.

Kết luận
Đổi Port SSH là một bước đơn giản giúp giảm các lượt quét tự động nhắm vào cổng 22 trên VPS Linux. Tuy nhiên, để tránh mất quyền truy cập, bạn cần sao lưu cấu hình, kiểm tra cú pháp, mở Firewall và thử kết nối bằng cổng mới trước khi đóng cổng cũ.
Nếu đang tìm kiếm VPS Linux sử dụng ổ cứng NVMe, toàn quyền root và hỗ trợ VNC Console để quản trị từ xa, bạn có thể tham khảo các gói dịch vụ tại THUEVPSGIARE.COM.

Tôi là Trần Thành Hồng Quân, nhân viên kỹ thuật tại THUEVPSGIARE.COM. Với hơn 5 năm kinh nghiệm trong lĩnh vực VPS, Hosting và quản trị hệ thống, tôi đã trực tiếp triển khai, vận hành và xử lý nhiều vấn đề kỹ thuật liên quan đến máy chủ và hạ tầng hosting. Thông qua các bài viết kỹ thuật trên THUEVPSGIARE.COM, tôi mong muốn chia sẻ những kiến thức thực tế, dễ hiểu và có thể áp dụng, giúp người dùng sử dụng VPS, Hosting và Server hiệu quả, ổn định và an toàn hơn.


