EQVPS

Bị khóa ngoài VPS bởi ufw? Vào lại mà không cần cài lại

22 thg 8, 2026 · 5 phút đọc · EQVPS Team

Có một nghi lễ vượt qua cho bất kỳ ai mới chạy máy chủ của riêng mình: bạn quyết định thiết lập một tường lửa, bạn gõ vài lệnh ufw, bạn bấm enable — và terminal của bạn im lặng. SSH biến mất. Bạn không sập gì, bạn không bị hack. Bạn chỉ khóa cửa với bạn ở bên ngoài.

Nó xảy ra với cả các sysadmin giỏi. Nó xảy ra với một khách hàng của chúng tôi tuần trước, đó là vì sao tôi viết cái này xuống. Tin vui: nó hoàn toàn khôi phục được trong dưới một phút, và bạn không cần cài lại hay mất một tập tin. Đây là cách.

Một VPS bịt kín sau một bức tường tường lửa, với một cửa sổ console phát sáng làm đường vào lại

Điều gì thực sự sai

ufw (Uncomplicated Firewall) mặc định từ chối tất cả đến. Khoảnh khắc bạn chạy ufw enable, bất cứ gì bạn không cố ý cho phép bị bỏ — kể cả phiên SSH bạn đang ngồi. Nếu bạn quên ufw allow cổng SSH của bạn trước, bạn đã cắt kết nối của chính mình ngay khi quy tắc có hiệu lực.

Đó là phiên bản kinh điển. Có hai loại khác bắt người ta:

Dù cách nào chính máy chủ vẫn ổn — đang chạy, đĩa nguyên vẹn, ứng dụng của bạn vẫn ngân nga sau bức tường. Nó thuần túy là một vấn đề truy-cập-mạng. Chính là vì sao cách sửa dễ.

Nước đi sai: cài lại

Bản năng đầu tiên thường là "cứ reset máy chủ và bắt đầu lại." Đừng — không cho cái này. Một lần cài lại xóa mọi thứ để lấy lại một SSH hoạt động, khi thứ chặn SSH là một lệnh tường lửa bạn có thể hoàn tác trong mười giây. Bạn sẽ đốt cả ngôi nhà vì bạn khóa cửa trước.

Cài lại là lựa chọn đúng khi bạn muốn một khởi đầu sạch. Cho một lần khóa ufw, nó là quá mức.

Nước đi đúng: web console

Mọi VPS đáng giá cho bạn một console ngoài-băng-tần — một đường vào cỗ máy không đi qua SSH hay thậm chí ngăn xếp mạng. Trên EQVPS nó là nút Console trên trang máy chủ của bạn. Nó là một serial console: chỉ văn bản, kết nối thẳng tới VM theo cách một màn hình và bàn phím sẽ làm. Một quy tắc tường lửa không có quyền lực trên nó, vì nó không phải lưu lượng mạng.

Nút Console trên trang quản lý máy chủ EQVPS

Bấm nó, đăng nhập với thông tin đăng nhập root của bạn (hoặc tiết lộ mật khẩu trong panel nếu bạn không có nó sẵn), và bạn ở trên cỗ máy — tường lửa hay không tường lửa.

Giờ hoàn tác thiệt hại. Con đường nhanh nhất:

sudo ufw disable

Cái đó tắt tường lửa và giữ các quy tắc của bạn, để bạn có thể bật lại nó sau khi bạn đã sửa sai lầm. SSH trở lại thẳng.

Nếu bạn thà không bỏ tường lửa hoàn toàn, chỉ mở cổng bạn đã bỏ lỡ:

sudo ufw allow 22
sudo ufw status numbered

Xem status numbered đáng nhìn — nó cho thấy thứ tự quy tắc, vốn là nơi các trường hợp "tôi cho phép 22 nhưng nó vẫn chặn" ẩn. Nếu một deny ngồi trên allow của bạn, xóa nó với sudo ufw delete <number>.

Cái bẫy NAT hầu hết các hướng dẫn bỏ lỡ

Nếu bạn ở một gói NAT, có một cái bẫy ở đây. Bạn SSH vào trên một cổng cao — thứ gì đó như 20266 — nên bản năng tự nhiên là ufw allow 20266. Cái đó không làm gì.

Trên NAT, cổng ngoài đó được chuyển tiếp tới cổng 22 bên trong VM. ufw chạy bên trong VM và chỉ từng thấy 22. Nên quy tắc bạn thực sự cần là:

sudo ufw allow 22

Cho phép 20266 và bạn sẽ nhìn chằm chằm một kết nối vẫn hỏng tự hỏi vì sao. Cho phép 22 và bạn vào. Cùng ý tưởng cho bất kỳ dịch vụ: cho phép cổng mà tiến trình lắng nghe bên trong cỗ máy, không phải cái được chuyển tiếp bạn kết nối từ bên ngoài.

Cách không bao giờ làm điều này lần nữa

Cách sửa mất một phút, nhưng không cần nó thì tốt hơn. Hai thói quen:

Cho phép cổng SSH của bạn trước khi bạn bật. Theo thứ tự này, luôn luôn:

sudo ufw allow 22
sudo ufw enable

Làm ngược lại và bạn trở lại trong console.

Giữ một phiên thứ hai mở trong khi bạn thay đổi các quy tắc tường lửa. Đăng nhập hai lần. Làm các thay đổi của bạn trong một cửa sổ; nếu SSH chết, cửa sổ kia vẫn sống để sửa nó. Mẹo cũ, cứu bạn mỗi lần.

Và nếu bạn đang thiết lập một cỗ máy mới, danh sách kiểm tra bảo mật VPS-mới của chúng tôi bao quát ufw theo đúng thứ tự, cùng các khóa SSH và một nhúm thứ khác thực sự quan trọng trong mười phút đầu.

Điều rút ra

Một lần khóa ufw trông đáng sợ và gần như không là gì. Máy chủ không bao giờ rời đi; bạn chỉ cần một cửa mà một tường lửa không thể đóng sầm — web console — và một lệnh. Giữ ufw disable và console trong túi sau của bạn, cho phép cổng của bạn trước khi bạn bật lần sau, và bạn sẽ không bao giờ toát mồ hôi vì cái này lần nữa.

FAQ

Tôi bật ufw và giờ SSH không kết nối. Tôi mất máy chủ à?

Không. Máy chủ đang chạy tốt — bạn chỉ chặn cửa từ bên trong. Dữ liệu của bạn không bị chạm. Mở web console trong control panel của bạn (nó đăng nhập bạn không cần SSH) và chạy `sudo ufw disable`, và bạn trở lại. Không cần cài lại.

Vì sao bật ufw giết SSH của tôi?

ufw mặc định từ chối tất cả lưu lượng đến, và nếu bạn bật nó mà không trước tiên cho phép cổng SSH của bạn, phiên của chính bạn bị cắt. Nó là lần khóa-mình tự-gây phổ biến nhất. Luôn `ufw allow <ssh-port>` trước `ufw enable`.

Làm sao sửa ufw nếu tôi không thể SSH vào chút nào?

Dùng web console (serial console) ngoài-băng-tần trong panel của bạn — nó không đi qua SSH hay thậm chí cần ngăn xếp mạng, nên một quy tắc tường lửa không thể chặn nó. Đăng nhập ở đó, rồi `sudo ufw disable` (nhanh nhất) hoặc `sudo ufw allow <port>` để sửa quy tắc cụ thể.

Trên một VPS NAT, tôi cho phép cổng nào trong ufw?

Cho phép 22, không phải cổng ngoài. Trên một gói NAT bạn kết nối trên một cổng cao như 20266, nhưng cái đó được chuyển tiếp tới cổng 22 bên trong VM. ufw chạy bên trong VM và chỉ thấy 22. Cho phép 20266 không làm gì; cho phép 22.

`ufw reset` có an toàn hơn `ufw disable` không?

`disable` chỉ tắt tường lửa và giữ các quy tắc của bạn — cách vào lại nhanh nhất. `reset` xóa mọi quy tắc về mặc định. Dùng `disable` để khôi phục, rồi thêm lại các quy tắc cẩn thận. Chỉ `reset` nếu bộ quy tắc là một mớ hỗn độn bạn muốn biến mất.

← Quay lại blogXem gói & giá →

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.