Hướng dẫn thay đổi port SSH trên Linux

Các bạn sẽ biết cách thay đổi port SSH trên Linux qua bài viết này. Như các bạn đã biết, khi bạn quản lý một VPS/Server Linux thì bạn cần phải thực hiện kết nối SSH đăng nhập account vào hệ thống.

Hình thức kết nối dịch vụ SSH sẽ thường sử dụng port mặc định là port 22 (port ssh) để giúp bạn truy xuất vào hệ thống Linux theo một cách dễ nhớ. Thế nhưng khi port 22 là port mặc định theo tiêu chuẩn của IEEE sẽ kéo theo rủi ro bảo mật. Điều đó có nghĩa là việc sẽ có nhiều người xấu lợi dụng cấu hình port SSH mặc định (port 22) để thực hiện tấn công dò tìm mật khẩu (brute-force) tài khoản root của VPS/Server Linux. Vì vậy ta cần thay đổi port SSH mặc định thành port khác.

Tổng quan thì lý do để đổi port SSH chỉ có:

  • Tăng tính bảo mật kết nối SSH vào server Linux

Thay đổi port SSH cũng là một trong những tiêu chí bảo mật dịch vụ SSH trên Linux. Bạn có thể tham khảo bài viết này: Top 13 cách bảo mật SSH trên Linux

Vậy hãy cùng bước vào nội dung chính, làm cách nào để thay đổi SSH port trên Linux sang một port mới nhé.

hướng dẫn thay đổi port ssh trên linux

1. Kiểm tra port SSH đang listen

Đầu tiên ta cần kiểm tra port nào đang được SSH mở sử dụng để listen các kết nối SSH vào máy chủ Linux.

# netstat -atnp | grep "ssh"
tcp        0      0 0.0.0.0:22                0.0.0.0:*                   LISTEN      28032/sshd
tcp        0      0 :::22                     :::*                        LISTEN      28032/sshd

Như output lệnh trên ay dodoì dịch vụ SSH đang sử dụng port số 22 (port SSH mặc định) để listen các kết nối đến.

2. Thực hiện cấu hình thay đổi SSH port trên Linux

– Trước mắt bạn cần xác định bạn sẽ sử dụng port số mấy cho sự thay đổi port SSH này. Mình lấy ví dụ là port số “2345” nhé. Sau khi đã quyết định được số SSH port mới, thì ta cần kiểm tra xem có dịch vụ nào đang sử dụng port ‘2345‘ không nhé.

# netstat -atnp | grep ":2345"

– Nếu output không có chương trình dịch vụ nào đang sử dụng thì tức port ‘2345‘ có thể xài được. Giờ ta sẽ thực hiện edit file cấu hình dịch vụ SSH/etc/ssh/sshd_config‘ dưới quyền user root.

# vi /etc/ssh/sshd_config

– Tìm kiếm dòng ‘#Port 22‘, bỏ dấu # ở đầu và thay bằng port bạn muốn dùng. Nếu trong file cấu hình đang xài port số khác thì thay nội dung “Port <number>” bằng số port bạn muôn. Ví dụ 2345. Bạn nên tránh lựa chọn các port số thuộc dạng well-known port tức port thông dụng dành cho các dịch vụ khác. (Xem thêm: Các port dịch vụ phổ biến trên Internet)

Port 2345

– Lưu lại file cấu hình và kiểm tra cú pháp cấu hình dịch vụ SSH, xem có chỉnh sửa cú pháp sai không. Nếu sai cú pháp thì sửa lại cho đúng rồi mới được làm tiếp.

# sshd -t

3. Mở firewall rule cho port SSH mới

Nếu bạn đang sử dụng firewall trên hệ thống Linux thì bạn cần mở port cho phép các kết nối đến port SSH mới (2345) cấu hình trước khi restart lại dịch vụ SSH. Ví dụ dưới là sử dụng firewall ‘iptables‘.

# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2345 -j ACCEPT

Sẽ có trường hợp bạn xài dịch vụ Cloud Server/VPS trên thế giới, họ sẽ có thêm 1 lớp tường lửa dịch vụ riêng của họ . Lớp này sẽ lọc traffic trước khi traffic vào tới VPS/Server Linux. Nếu có trường hợp này, thì bạn cần mở port trên giao diện dịch vụ của nhà cung cấp đó.

4. Khởi động dịch vụ SSHd và kiểm tra

Giờ thì restart lại dịch vụ SSH nào, để SSHd áp dụng cấu hình mới.

+ CentOS 7/Ubuntu 16.0.4

# systemctl restart sshd

+ CentOS 6/Ubuntu 14.0.4

# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]

Phần quan trọng nhất chính là lúc này : KIỂM TRA KẾT NỐI SSH VÀO PORT SSH MỚI – port 2345 . Bạn không được tắt terminal hoặc exit kết nối SSH của bạn lúc này. Nếu mà bạn logout nó mà chưa chắc chắn đã kết nối SSH được port mới, thì bạn phải mất thời gian để kết nối conforceriêng cho con server/vps Linux đó để fix lại.

Giờ thì hãy mở chương trình SSH Client như putty trên Windows hoặc dùng lệnh ‘ssh‘ trên Linux với option ‘-p portnumber‘ để kiểm tra kết nối dịch vụ SSH port mới cấu hình nào.

# ssh -p 2345 root@192.168.100.5

Vậy là bạn đã biết cách để thay đổi port SSH trên Linux rồi phải không nào ? Nếu bạn có đang quản trị VPS hay Server Linux, thì hãy nên thay đổi SSH Port sang port số khác nhằm tránh các cuộc tấn công dò tìm mật khẩu (brute-force) SSH bạn nhé.

Quách Chí Cường

Previous articleEbook Java for Dummies 5th Edition PDF – Download Free
Next articleHướng dẫn tắt IPv6 trên Linux – Disable IPv6
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !