Hướng dẫn tạo SSH Key và tắt đăng nhập SSH bằng password

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