EQVPS

Cách thiết lập xác thực bằng SSH key trên VPS

Thay thế đăng nhập bằng mật khẩu bằng một cặp SSH key: tạo key, sao chép nửa public lên máy chủ, kiểm tra nó, rồi tắt đăng nhập bằng mật khẩu. Đây là cải thiện bảo mật lớn nhất cho bất kỳ VPS mới nào, chỉ trong vài lệnh.

Đăng nhập bằng mật khẩu là phần yếu nhất của một máy chủ mới: các bot quét internet và dội bom cổng 22 bằng những lần đoán suốt ngày đêm. Thay mật khẩu bằng một cặp SSH key loại bỏ hoàn toàn bề mặt tấn công đó, và đây là việc đầu tiên đáng làm trên bất kỳ VPS mới nào. Toàn bộ quy trình chỉ gồm vài lệnh.

Cách SSH key hoạt động

Bạn tạo một cặp: một private key ở lại trên máy tính của bạn và một public key bạn đặt lên máy chủ. Máy chủ thách thức bất kỳ ai kết nối; chỉ người giữ private key tương ứng mới có thể trả lời. Bạn có thể chia sẻ public key thoải mái — chính private key mới là thứ bạn cần bảo vệ.

1. Tạo cặp key (trên máy tính của chính bạn)

ssh-keygen -t ed25519 -C "you@example.com"
# press Enter to accept the default path (~/.ssh/id_ed25519)
# set a passphrase for extra safety, or leave empty

Lệnh này tạo ra hai tệp: ~/.ssh/id_ed25519 (private — không bao giờ chia sẻ) và ~/.ssh/id_ed25519.pub (public).

2. Sao chép public key lên máy chủ của bạn

Cách dễ nhất, nếu bạn vẫn còn đăng nhập được bằng mật khẩu:

ssh-copy-id root@YOUR.SERVER.IP

Không có ssh-copy-id? Làm thủ công:

cat ~/.ssh/id_ed25519.pub | ssh root@YOUR.SERVER.IP \
  "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

3. Kiểm tra key trước khi thay đổi bất cứ điều gì

Mở một terminal mới và đăng nhập — bạn không nên bị hỏi mật khẩu máy chủ:

ssh root@YOUR.SERVER.IP

Nếu nó hoạt động, hãy giữ phiên này mở trong khi bạn thực hiện bước tiếp theo, để một sai lầm không thể khóa bạn ngoài.

4. Tắt đăng nhập bằng mật khẩu

Trên máy chủ, sửa /etc/ssh/sshd_config:

sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh    # on some distros the service is named sshd

Từ giờ chỉ key của bạn mới vào được, và tiếng ồn brute-force liên tục trên cổng 22 đơn giản là dội ngược lại.

Cảnh báo thành thật

Bước tiếp theo

SSH key là bước đầu tiên của một máy chủ được gia cố bảo mật. Kết hợp nó với một tường lửa — xem cách cấu hình tường lửa UFWcách thiết lập fail2ban — và chạy toàn bộ danh sách kiểm tra bảo mật cho VPS mới trước khi phơi bày bất cứ điều gì. Trên một VPS trả bằng crypto không cần KYC, một key cũng là cách bạn giữ quyền truy cập thực sự là của riêng mình.

FAQ

Tại sao nên dùng SSH key thay vì mật khẩu?

Mật khẩu có thể bị đoán hoặc bị brute-force; các bot liên tục dội bom cổng 22. Một cặp SSH key gần như không thể đoán được, và một khi bạn tắt đăng nhập bằng mật khẩu, những nỗ lực brute-force đó đơn giản là thất bại. Nó cũng tiện hơn — bạn đăng nhập mà không cần gõ mật khẩu mỗi lần.

Sự khác biệt giữa public key và private key là gì?

Cặp key được tạo cùng nhau. Private key (id_ed25519) ở lại trên máy tính của bạn và không bao giờ được chia sẻ. Public key (id_ed25519.pub) được sao chép lên máy chủ. Ai giữ public key của bạn cũng an toàn; chỉ private key tương ứng mới có thể đăng nhập, vì vậy hãy bảo vệ private key.

Nên tạo ed25519 hay RSA?

ed25519 cho mọi thứ hiện đại: key ngắn hơn, nhanh hơn, và an toàn. Chỉ dùng RSA (ít nhất 4096-bit) nếu bạn phải kết nối tới các hệ thống cũ không hỗ trợ ed25519. Các lệnh bên dưới dùng ed25519.

Nếu tôi mất private key thì sao?

Bạn mất con đường vào đó. Nếu đăng nhập bằng mật khẩu vẫn còn bật, hãy dùng nó để thêm một key mới; nếu bạn đã tắt nó, hãy dùng console của nhà cung cấp (EQVPS có console trên trình duyệt) để vào và thêm một public key mới. Hãy sao lưu private key của bạn, và cân nhắc thêm một key thứ hai để mất một thiết bị không đồng nghĩa với bị khóa hoàn toàn.

Tắt hoàn toàn đăng nhập bằng mật khẩu có an toàn không?

Có — một khi key của bạn hoạt động và bạn đã xác nhận có thể đăng nhập bằng nó. Hãy kiểm tra key ở một terminal thứ hai trước khi đóng phiên hiện tại, để một sai lầm không bao giờ khóa bạn ngoài. Sau đó, việc tắt mật khẩu loại bỏ hoàn toàn bề mặt tấn công brute-force.

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ị.