Hướng dẫn sử dụng SSH Key trên Windows bằng PuTTY
Mỗi VPS khi đăng nhập bằng SSH đều phải chứng thực qua username và password, tuy nhiên việc sử dụng phương pháp chứng thực này mang lại 2 nguy cơ lớn là:
- Lộ mật khẩu dẫn tới mất dữ liệu hoặc thông tin trên VPS
- Bị tấn công dò tìm password (brute force) để xâm nhập vào VPS
Do đó, KDATA khuyến khích các bạn nên làm quen với SSH Key để đăng nhập vào VPS và sử dụng nó để xác thực các kết nối bên ngoài vào VPS để đảm bảo sự an toàn
1. Tổng quan SSH Key
Phương pháp này tạo ra 1 cặp key bao gồm:
- Private Key: được giữ bí mật, ai có Key này có thể đăng nhập vào Server không cần password. Key được lưu trữ ở phía Client
- Public Key: không cần thiết phải giữ bí mật. Key được lưu trữ ở phía Server. Client dùng Private Key tương ứng để SSH vào
2. Tạo và sử dụng SSH Key bằng PuTTY
Bạn có thể download phần mềm PuTTy-Gen tại đây
Mở phần mềm và chọn như hình
Chú ý: trong lúc tạo có thể rê chuột xung quanh màn hình để nó tạo xong
Các khóa sẽ được tạo như hình bên dưới
Cài đặt passphrase để tăng bảo mật 2 lớp (tùy chọn)
Ấn Save Private Key thành file có đuôi .ppk và giữ ở nơi an toàn, trành làm mất Key không thể kết nối được VPS
Public Key bắt đầu bằng từ khóa ssh-rsa xxxx. Đây là đoạn mà bạn copy bỏ vào VPS mà bạn cần SSH vào
3. Sử dụng SSH Key trên Server
Đăng nhập vào VPS với tài khoản user mà bạn cần thêm key (thường là root, nếu bạn có nhiều user thì mỗi user đều cần phải thêm key)
Gõ các lệnh dưới đây để tạo thư mục .ssh/ và file authorized_keys trong thư mục đó nếu chưa có:
# mkdir ~/.ssh
# chmod 700 ~/.ssh
# touch ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys
Copy đoạn mã Public Key vào file authorized_keys để chứng thực
# vi ~/.ssh/authorized_keys
Đảm bảo không thể đăng nhập VPS bằng password của root, bạn mở file /etc/ssh/sshd_config và thay thế nội dung sau :
PasswordAuthentication yes -> PasswordAuthentication no
Sau đó khởi động lại giao thức SSH
# systemctl restart sshd
Kết quả
Trỏ vào Private Key đuôi .ppk trên phần mềm Putty
Nội dung như trong hình nghĩa là bạn đã sử dụng được SSH Key
Chúc các bạn thành công!