Bài viết này hướng dẫn bạn tạo cặp khóa SSH, thêm khóa công khai vào Cloud VPS và kiểm tra đăng nhập trước khi tắt xác thực bằng mật khẩu. Hãy thực hiện đúng thứ tự để tránh mất quyền truy cập máy chủ.
1. Tạo cặp khóa SSH trên máy tính
Mở Terminal trên macOS hoặc Linux. Trên Windows, mở PowerShell hoặc Windows Terminal. Tạo khóa Ed25519 bằng lệnh:
ssh-keygen -t ed25519 -C "ten-may-tinh"
Khi được hỏi nơi lưu khóa, nhấn Enter để dùng đường dẫn mặc định. Bạn có thể đặt mật khẩu bảo vệ khóa riêng để tăng an toàn; mật khẩu này được nhập trên máy tính của bạn, không phải mật khẩu VPS.
Lệnh trên tạo hai tệp: id_ed25519 là khóa riêng và id_ed25519.pub là khóa công khai. Không gửi hoặc chia sẻ khóa riêng. Chỉ đưa khóa có đuôi .pub lên máy chủ.
2. Thêm khóa công khai vào VPS
Nếu máy tính có lệnh ssh-copy-id, thay USER bằng tài khoản Linux đang dùng và IP_VPS bằng địa chỉ IP máy chủ:
ssh-copy-id -i ~/.ssh/id_ed25519.pub USER@IP_VPS
Nhập mật khẩu VPS khi được yêu cầu. Nếu không có ssh-copy-id, hiển thị khóa công khai bằng lệnh:
cat ~/.ssh/id_ed25519.pub
Sao chép toàn bộ một dòng bắt đầu bằng ssh-ed25519. Đăng nhập VPS bằng mật khẩu, sau đó chạy:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
Dán khóa vào một dòng riêng, lưu tệp rồi đặt quyền phù hợp:
chmod 600 ~/.ssh/authorized_keys
Thư mục .ssh và tệp authorized_keys phải thuộc về đúng tài khoản đăng nhập. Nếu bạn đăng nhập bằng tài khoản khác với tài khoản đã thêm khóa, khóa sẽ không được áp dụng.
3. Kiểm tra đăng nhập bằng khóa
Mở một cửa sổ Terminal mới, giữ nguyên phiên SSH hiện tại và thử kết nối:
ssh -i ~/.ssh/id_ed25519 USER@IP_VPS
Nếu khóa có mật khẩu bảo vệ, bạn sẽ được hỏi mật khẩu của khóa. Sau khi đăng nhập thành công, hãy thoát và kết nối lại thêm một lần để xác nhận. Chỉ tiếp tục khi chắc chắn có thể đăng nhập bằng khóa; không đóng phiên đang hoạt động trước đó.