Khi quản lý VPS hoặc server Linux, việc đăng nhập SSH bằng mật khẩu có thể tiềm ẩn rủi ro bảo mật do các cuộc tấn công brute-force từ internet. Sử dụng SSH Key giúp tăng mức độ an toàn vì chỉ những máy có khóa hợp lệ mới có thể đăng nhập vào server. Bài viết dưới đây sẽ hướng dẫn nhanh cách tạo SSH Key và cấu hình server chỉ cho phép đăng nhập bằng SSH Key.
Bước 1: Tạo SSH Key trên máy tính
Mở PowerShell (Windows) hoặc Terminal (Linux/macOS) và chạy lệnh:
ssh-keygen
Sau đó nhấn Enter 3 lần để tạo key với cấu hình mặc định.
Sau khi hoàn tất sẽ tạo hai file:
~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub
Trong đó:
id_ed25519→ Private key (giữ bí mật)id_ed25519.pub→ Public key (đưa lên server)
Để xem public key, tiếp tục chạy thêm lệnh dưới đây trên powershell:
type $env:USERPROFILE\\.ssh\\id_ed25519.pub
Sau khi chạy lệnh trên sẽ in ra nội dung có dạng như sau:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA.... user@PC
Copy toàn bộ nội dung hiển thị.
Bước 2: Thêm SSH Key vào VPS
SSH vào server bằng mật khẩu:
ssh root@IP_VPS
Tạo thư mục SSH và thêm key:
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
Dán public key đã copy ở bước 1 vào file rồi lưu lại.
Sau đó thiết lập quyền:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Lúc này bạn có thể thử đăng nhập lại server để kiểm tra SSH key đã hoạt động hay chưa.
Bước 3: Tắt đăng nhập SSH bằng mật khẩu (khuyến nghị)
Sau khi chắc chắn đăng nhập bằng SSH key thành công, mở file cấu hình SSH.
Tìm và chỉnh các dòng sau:
PubkeyAuthentication yes
PasswordAuthentication no
Lưu lại và khởi động lại dịch vụ SSH:
systemctl restart ssh

