Tại sao và làm thế nào để đổi cổng SSH mặc định trên VPS?

Tác giả: Tran Thao 28 tháng 07, 2025

Bạn đã bao giờ tự hỏi tại sao log trên VPS mới của mình lại đầy ắp những dòng đăng nhập thất bại từ IP lạ chưa? Đó chính là các bot tự động, đang ngày đêm rà quét một mục tiêu duy nhất: cổng SSH 22 mặc định. Việc đổi cổng SSH là một bước đi đơn giản giúp bạn “tàng hình” trước 99% các cuộc tấn công này.

Đây là bài viết chuyên sâu về Lớp phòng thủ thứ 5 trong chuỗi hướng dẫn toàn diện Bảo mật VPS từ A-Z: 10 lớp phòng thủ thiết yếu (cập nhật 2025) của chúng tôi. Hãy cùng nhau thực hiện từng bước để chuyển dịch vụ SSH của bạn sang một “ngôi nhà” mới an toàn hơn.

Tóm tắt nhanh: Đổi cổng SSH mặc định (từ 22 sang một cổng khác như 2222) là một bước bảo mật thiết yếu giúp VPS của bạn “tàng hình” trước các cuộc tấn công tự động (brute-force bots). Quá trình này bao gồm 3 bước chính:

  1. Sửa file cấu hình sshd_config để chỉ định cổng mới,
  2. Mở cổng mới trên tường lửa (Firewall) của bạn, và
  3. Khởi động lại dịch vụ SSH.

4 lý do chính để đổi cổng SSH ngay hôm nay

Trước khi đi vào các dòng lệnh, điều quan trọng là phải hiểu rõ giá trị của hành động mà chúng ta sắp thực hiện. Việc thay đổi một con số mặc định mang lại nhiều lợi ích hơn bạn nghĩ.

Tránh né hàng loạt cuộc tấn công tự động

Đây là lý do quan trọng nhất. Hầu hết các cuộc tấn công SSH trên Internet đều là tấn công Brute Force tự động. Các bot này được lập trình để chỉ quét và tấn công vào cổng 22. Bằng cách di chuyển SSH sang một cổng khác, bạn đã tự đưa mình ra khỏi danh sách mục tiêu của chúng.

Giảm “log rác”, giúp nhật ký hệ thống sạch sẽ

Khi không còn bị hàng trăm, hàng ngàn lượt truy cập trái phép mỗi giờ, file log (/var/log/auth.log) của bạn sẽ trở nên sạch sẽ hơn rất nhiều. Điều này giúp bạn dễ dàng theo dõi các lượt đăng nhập hợp lệ và phát hiện các hành vi bất thường thực sự, thay vì bị chôn vùi trong “rác”.

Thể hiện bạn là một quản trị viên cẩn thận

Một hacker có kinh nghiệm khi quét qua và thấy cổng 22 đã đóng sẽ ngay lập tức hiểu rằng quản trị viên của VPS này không phải là người mới. Điều đó ngụ ý rằng bạn có thể đã áp dụng các biện pháp bảo mật khác, khiến họ có xu hướng nản lòng và tìm kiếm những mục tiêu dễ dàng hơn.

Một lớp phòng thủ thông minh trong “Security through Obscurity”

“Bảo mật qua sự che giấu” (Security through Obscurity) là một khái niệm gây tranh cãi. Nó cho rằng việc che giấu thông tin (như cổng dịch vụ) có thể tăng cường bảo mật.

Tất nhiên, một kẻ tấn công có chủ đích vẫn có thể quét toàn bộ 65,535 cổng để tìm ra dịch vụ SSH của bạn. Tuy nhiên, việc đổi cổng SSH không nhằm mục đích chống lại họ. Mục đích của nó là loại bỏ phần lớn các cuộc tấn công ồn ào, không có chủ đích, giúp các lớp bảo mật thực sự khác (như Fail2Ban, SSH Key) hoạt động hiệu quả hơn.

Hướng dẫn đổi cổng SSH an toàn trong 7 bước

Chúng tôi đã xây dựng một quy trình chi tiết, đảm bảo an toàn tuyệt đối. Hãy làm theo cẩn thận từng bước, đặc biệt là không đóng cửa sổ terminal hiện tại cho đến khi hoàn thành bước 6.

Bước 0: Sao lưu file cấu hình (cực kỳ quan trọng!)

Trước khi chỉnh sửa bất cứ điều gì, hãy tạo một bản sao lưu. Đây là “bảo hiểm” của bạn, cho phép bạn khôi phục lại cấu hình gốc nếu có sự cố xảy ra.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

Bước 1: Chọn một cổng mới an toàn

Việc chọn cổng mới không phải là ngẫu nhiên. Có một vài quy tắc bạn nên tuân theo:

  • Nên tránh: Các cổng từ 0-1023. Đây là các “Well-known Ports” đã được dành riêng cho các dịch vụ hệ thống phổ biến (như 80 cho HTTP, 443 cho HTTPS, 21 cho FTP).
  • Nên chọn: Một số trong dải “Registered Ports” (1024–49151) hoặc “Dynamic/Private Ports” (49152–65535). Ví dụ: 2222, 10022, 48371.

Để chắc chắn cổng bạn chọn chưa được sử dụng, hãy chạy lệnh sau (thay 2222 bằng số cổng của bạn). Nếu không có kết quả nào hiện ra, cổng đó đang trống.

sudo ss -tulpn | grep 2222

Bước 2: Chỉnh sửa file cấu hình sshd_config

Đây là lúc chúng ta thông báo cho dịch vụ SSH biết về “địa chỉ nhà” mới. Hãy mở file cấu hình bằng trình soạn thảo nano.

sudo nano /etc/ssh/sshd_config

Dùng các phím mũi tên để di chuyển, tìm đến dòng #Port 22.

Xóa dấu thăng (#) ở đầu dòng và thay 22 bằng số cổng mới bạn đã chọn.

Trước khi sửa:

#Port 22

Sau khi sửa (ví dụ với cổng 2222):

Port 2222

Sau đó, nhấn Ctrl + X để thoát, gõ Y để xác nhận lưu, và nhấn Enter để hoàn tất.

Bước 3: Cấu hình Firewall (tường lửa)

Đây là bước tối quan trọng. Bạn phải “đục một lỗ” trên tường lửa để cho phép kết nối đến cổng mới. Nếu không, bạn sẽ tự khóa mình ở bên ngoài.

Với UFW (Mặc định trên Ubuntu/Debian)

Đây là tường lửa mặc định và dễ sử dụng nhất trên Ubuntu. Nếu bạn muốn tìm hiểu sâu hơn về nó, hãy tham khảo bài viết chi tiết của chúng tôi về Lớp 2: Làm chủ tường lửa UFW.

sudo ufw allow 2222/tcp

(Hãy thay 2222 bằng số cổng của bạn)

Với FirewallD (Mặc định trên CentOS/RHEL)

Bạn cần chạy hai lệnh: một để thêm quy tắc và một để tải lại tường lửa.

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

Với Iptables (Hệ thống cũ hơn)

sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

(Lưu ý: Bạn cần có cơ chế lưu lại quy tắc Iptables, ví dụ dùng iptables-persistent)

Lưu ý đặc biệt: Nhiều nhà cung cấp VPS (như AWS, Google Cloud, Vultr) có một lớp tường lửa bên ngoài. Hãy đảm bảo bạn cũng đã đăng nhập vào trang quản trị của họ và mở cổng mới này trong phần Security Group hoặc Firewall Rules.

Bước 4: (nếu dùng) Cấu hình cho SELinux trên CentOS/RHEL

SELinux là một module bảo mật tăng cường trên các bản phân phối của Red Hat. Mặc định, nó chỉ cho phép SSH hoạt động trên cổng 22. Chúng ta cần “dạy” nó về cổng mới.

Nếu bạn đang dùng CentOS, Rocky Linux, AlmaLinux, hãy chạy lệnh sau:

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

Nếu lệnh semanage không tồn tại, bạn cần cài đặt nó trước: sudo dnf install -y policycoreutils-python-utils.

Bước 5: Khởi động lại dịch vụ SSH

Bây giờ, hãy khởi động lại dịch vụ SSH để tất cả các thay đổi của chúng ta có hiệu lực.

Trên CentOS/RHEL/Ubuntu/Debian:

sudo systemctl restart sshd

Lưu ý: Trên một số phiên bản Ubuntu mới (22.10+), bạn có thể cần khởi động lại cả ssh.socket: sudo systemctl restart ssh.socket.

Mẹo gỡ lỗi: Nếu sau khi khởi động lại dịch vụ mà bạn không thể kết nối qua cổng mới (ở Bước 6), đừng vội đóng terminal cũ! Hãy dùng lệnh sudo journalctl -u sshd -n 50 --no-pager để xem 50 dòng log gần nhất của dịch vụ SSH. Lỗi thường gặp nhất là do cấu hình sai trong file sshd_config hoặc xung đột SELinux.

Bước 6: Kiểm tra lại trước khi ngắt kết nối

KHÔNG ĐÓNG CỬA SỔ TERMINAL HIỆN TẠI!

Đây là bước kiểm tra an toàn. Đầu tiên, hãy xác minh xem dịch vụ SSH đã thực sự chạy trên cổng mới chưa.

sudo ss -tulpn | grep ssh

Bạn sẽ thấy một dòng output chứa địa chỉ IP và số cổng mới của bạn, ví dụ 0.0.0.0:2222.

Tiếp theo, mở một cửa sổ terminal mới trên máy tính của bạn và thử đăng nhập lại bằng lệnh ssh có thêm tham số -p để chỉ định cổng mới.

ssh ten_user@your_vps_ip -p 2222

Nếu bạn đăng nhập thành công, xin chúc mừng! Bạn đã thực hiện đúng tất cả các bước. Giờ bạn có thể an tâm đóng cửa sổ terminal cũ.

Bước 7: Dọn dẹp – Đóng cổng 22

Sau khi đã chắc chắn cổng mới hoạt động hoàn hảo, không có lý do gì để giữ lại “cánh cửa cũ” số 22. Hãy đóng nó lại để tăng cường an toàn.

Với UFW:

sudo ufw delete allow 22/tcp

Với FirewallD:

sudo firewall-cmd --permanent --remove-port=22/tcp
sudo firewall-cmd --reload

Quy trình đã hoàn tất! Dịch vụ SSH của bạn giờ đây đã an toàn hơn rất nhiều.

Cấu hình các công cụ sau khi đổi cổng SSH

Việc đổi cổng trên server đồng nghĩa với việc bạn cũng cần cập nhật lại trên các phần mềm client mà bạn sử dụng. Hầu hết các trình quản lý file qua SFTP hoặc các terminal client đa năng đều có một trường “Port” (Cổng) trong giao diện kết nối.

  • FileZilla: Trong Site Manager, bên cạnh trường Host, bạn sẽ thấy trường Port. Hãy điền số cổng mới của bạn (ví dụ: 2222) vào đó.
  • MobaXterm: Khi tạo một phiên (session) SSH mới, bạn chỉ cần chọn tab “Advanced SSH settings” và nhập số cổng mới vào mục “SSH-port”.
  • Termius/PuTTY: Tương tự, luôn có một trường “Port” riêng biệt để bạn điền số cổng SSH.
Hướng dẫn cấu hình FileZilla kết nối SFTP với cổng tùy chỉnh sau khi đổi cổng SSH trên VPS.

Hướng dẫn cấu hình FileZilla kết nối SFTP với cổng tùy chỉnh sau khi đổi cổng SSH trên VPS.

Để giúp bạn hình dung rõ hơn, dưới đây là video hướng dẫn trực quan cách cấu hình FileZilla để kết nối vào VPS qua SFTP với một cổng tùy chỉnh.

Lưu ý: Video này sử dụng phương pháp xác thực bằng SSH Key được tạo trên cPanel, nhưng các bước quan trọng như chọn Giao thức (Protocol) là SFTP và điền Cổng (Port) tùy chỉnh là hoàn toàn tương tự cho mọi phương thức đăng nhập.

Bảng tóm tắt 7 bước đổi cổng SSH

Bước Hành động cốt lõi Ví dụ lệnh
0 Backup config sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
1 Chọn cổng mới Chọn một số lớn hơn 1024 (ví dụ: 2222, 10022).
2 Sửa file config sudo nano /etc/ssh/sshd_config và đổi Port 22 thành Port 2222.
3 Mở firewall sudo ufw allow 2222/tcp
4 Cấu hình SELinux sudo semanage port -a -t ssh_port_t -p tcp 2222 (chỉ cho CentOS/RHEL)
5 Restart SSH sudo systemctl restart sshd
6 Test kết nối Mở terminal mới và dùng ssh user@ip -p 2222.
7 Đóng cổng cũ sudo ufw delete allow 22/tcp

Câu hỏi thường gặp (FAQ)

1. Đổi cổng SSH có làm tăng hiệu suất VPS không?

Không. Việc đổi cổng SSH là một biện pháp bảo mật, không ảnh hưởng đến hiệu suất hoạt động (CPU, RAM, tốc độ mạng) của VPS. Nó chỉ giúp giảm thiểu các cuộc tấn công không mong muốn.

2. Tôi có thể chọn bất kỳ cổng nào trên 1024 không?

Về lý thuyết là , bạn có thể chọn bất kỳ cổng nào trong dải từ 1024 đến 65535. Tuy nhiên, trước khi chọn, bạn nên dùng lệnh sudo ss -tulpn | grep [số_cổng] để kiểm tra xem cổng đó có đang được một dịch vụ khác trên VPS của bạn sử dụng hay không nhằm tránh xung đột.

3. Nếu tôi bị khóa ngoài VPS sau khi đổi cổng thì phải làm sao?

Đây là trường hợp khá nghiêm trọng và là lý do các bước sao lưu và kiểm tra lại cực kỳ quan trọng. Nếu xảy ra, bạn có hai hướng giải quyết chính:

  1. Sử dụng Console Access: Hầu hết các nhà cung cấp VPS uy tín đều cung cấp quyền truy cập “Console” hoặc “VNC” qua trang quản trị của họ. Đây là một màn hình terminal ảo, cho phép bạn đăng nhập vào VPS ngay cả khi mạng bị cấu hình sai. Từ đó, bạn có thể sửa lại file /etc/ssh/sshd_config về cổng 22 để truy cập lại.
  2. Liên hệ hỗ trợ kỹ thuật: Nếu không có Console, hãy liên hệ ngay với bộ phận hỗ trợ của nhà cung cấp VPS để họ giúp bạn khôi phục lại cấu hình.

Kết luận

Việc đổi cổng SSH là một chiến thắng nhanh chóng và dễ dàng trong cuộc chiến bảo mật VPS. Nó giúp giảm đáng kể các nguy cơ từ những cuộc tấn công tự động.

Bảo mật là một quá trình, không phải là một hành động đơn lẻ. Sau khi đã “tàng hình” dịch vụ SSH của mình, hãy tiếp tục củng cố pháo đài của bạn với các lớp phòng thủ tiếp theo:

Những hành động này khi kết hợp với nhau sẽ tạo nên một pháo đài gần như bất khả xâm phạm trước các mối đe dọa phổ biến.

Tài liệu tham khảo

Để tìm hiểu sâu hơn về các công cụ và khái niệm được đề cập, bạn có thể tham khảo các nguồn chính thức sau: