Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Ngay khi bạn thuê một máy chủ ảo (VPS), đã có những chương trình tự động thử đoán mật khẩu đăng nhập SSH liên tục. Cách phòng thủ cơ bản và hiệu quả nhất là dùng SSH key thay cho mật khẩu. Bài này hướng dẫn từ tạo khóa đến siết chặt cấu hình.
SSH key là một cặp khóa:
Khi kết nối, máy chủ dùng khóa công khai để thử thách máy bạn, và chỉ ai có khóa riêng tương ứng mới trả lời đúng. Mật khẩu không bao giờ phải gửi qua mạng.
ssh-keygen -t ed25519 -C 'laptop-cua-toi'Ed25519 là thuật toán hiện đại, khóa ngắn và được hỗ trợ rộng rãi. Khi được hỏi, hãy đặt passphrase để bảo vệ khóa riêng phòng khi laptop bị mất. Mặc định khóa được lưu ở thư mục ~/.ssh/: file id_ed25519 là khóa riêng, id_ed25519.pub là khóa công khai.
ssh-copy-id nguoidung@dia-chi-may-chuLệnh này chép khóa công khai vào file ~/.ssh/authorized_keys trên máy chủ. Sau đó bạn đăng nhập bằng ssh nguoidung@dia-chi-may-chu mà không cần gõ mật khẩu tài khoản. Nếu máy không có ssh-copy-id, bạn có thể dán nội dung file .pub vào authorized_keys bằng tay.
Sau khi chắc chắn đăng nhập bằng khóa được, mở file /etc/ssh/sshd_config và cân nhắc các thiết lập:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Ý nghĩa: tắt đăng nhập bằng mật khẩu, cấm đăng nhập trực tiếp bằng root, bật xác thực bằng khóa, và giới hạn số lần thử. Sau đó khởi động lại dịch vụ SSH (tên dịch vụ có thể là ssh hoặc sshd tùy bản phân phối).
Quan trọng: đừng đóng phiên SSH đang mở khi sửa cấu hình. Hãy mở một cửa sổ mới để thử đăng nhập trước. Nếu cấu hình sai, bạn vẫn còn phiên cũ để sửa, tránh tự khóa mình ngoài máy chủ.
adduser deploy
usermod -aG sudo deployDùng tài khoản thường kèm sudo cho công việc hàng ngày. Root có quyền vô hạn nên một sai sót nhỏ cũng có thể gây hậu quả lớn.
Host may-chu-web
HostName 203.0.113.10
User deploy
IdentityFile ~/.ssh/id_ed25519Từ đó bạn chỉ cần gõ ssh may-chu-web. Địa chỉ trong ví dụ là địa chỉ dùng cho tài liệu, bạn thay bằng địa chỉ máy chủ của mình.
Chỉ với vài lệnh, bạn đã biến máy chủ từ mục tiêu dễ dàng thành mục tiêu khó nhằn: dùng khóa Ed25519, tắt mật khẩu, tắt đăng nhập root và giữ một phiên dự phòng khi chỉnh cấu hình. Đây là bài đầu tiên nên làm với mọi VPS mới.
Muốn thực hành thiết lập máy chủ từ đầu đến khi chạy được website, bạn có thể tham khảo các khóa học tại codebem.com.
Nguyễn Đình Cường
0 comment