Tắt đăng nhập root bằng mật khẩu
Vì sao đăng nhập root bằng mật khẩu nguy hiểm, các tùy chọn PermitRootLogin khác nhau thế nào và cách tắt mà không mất quyền truy cập vào máy.
Cập nhật 23 tháng 8, 2026
Ai cũng biết cái tên root: nó tồn tại trên mọi máy và có toàn quyền. Kẻ brute-force chỉ còn đúng một thứ để đoán — mật khẩu. Tắt đăng nhập bằng mật khẩu cho root loại bỏ cả một nhóm tấn công chỉ với một tham số.
Chuẩn bị
Đầu tiên là đường lui, sau đó mới đến lệnh cấm. Thứ tự ngược lại với điều bạn muốn làm.
- Tạo một người dùng có sudo — người dùng và sudo.
- Thêm khóa SSH của bạn vào đó và kiểm tra đăng nhập trong một cửa sổ terminal riêng.
- Đảm bảo
sudo -ihoạt động. - Chỉ đến lúc này mới đổi thiết lập.
ssh artem@<address>
sudo whoami
Nếu lệnh thứ hai trả về root, bạn đã có đường lui.
Các tùy chọn cấu hình
Trong tệp /etc/ssh/sshd_config.d/99-hardening.conf:
| Giá trị | Ý nghĩa |
|---|---|
PermitRootLogin yes | Mọi thứ đều được phép, kể cả mật khẩu. Không ai để nguyên như vậy |
PermitRootLogin prohibit-password | Khóa hoạt động, mật khẩu bị từ chối. Mức tối thiểu hợp lý |
PermitRootLogin forced-commands-only | Chỉ những lệnh được định trước, dành cho tự động hóa |
PermitRootLogin no | Root hoàn toàn không thể đăng nhập qua SSH. Tùy chọn nghiêm ngặt nhất |
Kết hợp được khuyến nghị:
PermitRootLogin prohibit-password
PasswordAuthentication no
Tham số thứ hai đóng đăng nhập bằng mật khẩu cho tất cả người dùng cùng lúc, không chỉ root. Để biết thêm chi tiết, xem Tăng cường bảo mật SSH.
Áp dụng và kiểm tra
sudo sshd -t
sudo systemctl restart ssh
sudo sshd -T | grep -i permitrootlogin
Từ một cửa sổ khác, kiểm tra rằng root không còn chấp nhận mật khẩu và người dùng của bạn đăng nhập bằng khóa:
ssh root@<address>
ssh artem@<address>
Khởi động lại sshd không ngắt phiên hiện tại — hãy giữ nó mở cho đến khi bạn kiểm tra xong.
Những gì vẫn còn khả dụng
Thay đổi chỉ ảnh hưởng đến SSH. Mật khẩu root vẫn cần thiết và vẫn hoạt động:
- trong console của máy, cả hai tab — tab văn bản và “Screen”;
- khi đăng nhập qua đĩa khôi phục;
- cho lệnh
su -bên trong hệ thống.
Bản thân mật khẩu được lưu ở dạng mã hóa và được hiển thị bằng một nút trên tab “Access” của bảng điều khiển tại /hosting/vds/m/<id>. Đây là đường dự phòng của bạn, và bạn không nên đánh mất nó — xem sao lưu khóa và mật khẩu.
Những lỗi thường gặp
| Lỗi | Hậu quả | Cách khắc phục |
|---|---|---|
| Bạn đã tắt root nhưng chưa tạo người dùng có sudo | Không ai có thể quản lý máy | Dùng console của bảng điều khiển và tạo một người dùng |
| Khóa chỉ tồn tại cho root | Người dùng mới không thể đăng nhập | Sao chép authorized_keys và sửa quyền |
| Thiết lập bị ghi đè bởi một tệp khác | Quy tắc không có tác dụng | Kiểm tra sshd -T, không phải tệp |
| Mong đợi lệnh cấm áp dụng cho console | Cảm giác an toàn giả tạo về việc khóa hoàn toàn | Console luôn hoạt động, theo thiết kế |
Đừng bao giờ tắt đăng nhập root mà không kiểm tra phương thức đăng nhập thay thế trong một cửa sổ bên cạnh. Việc kiểm tra mất mười giây; việc khôi phục qua console mất lâu hơn nhiều.