NỘI DUNG
SSH KEY LÀ GÌ?
SSH Key bạn cứ hiểu đơn giản là một phương thức chứng thực người dùng truy cập bằng cách đối chiếu giữa một key cá nhân (Private Key) và key công khai (Public Key).
Private key và Public key luôn có liên hệ chặt chẽ với nhau để nó có thể nhận diện lẫn nhau. Mình nói vậy cho bạn dễ hình dung nhé, khi tạo một SSH Key thì bạn sẽ có cả 2 loại key này. Sau đó bạn mang cái public key bỏ lên máy chủ của bạn, còn cái private key bạn sẽ lưu ở máy và khi đăng nhập vào server, bạn sẽ gửi yêu cầu đăng nhập kèm theo cái Private Key này để gửi tín hiệu đến server, server sẽ kiểm tra xem cái Private key của bạn có khớp với Public key có trên server hay không, nếu có thì bạn sẽ đăng nhập được.
Nội dung giữa Private Key và Public Key hoàn toàn khác nhau, nhưng nó vẫn sẽ nhận diện được với nhau thông qua một thuật toán riêng của nó.
Bạn cứ hình dung Private Key là chìa khóa, còn Public Key là ổ khóa.
Thành phần chính của một SSH Key
Khi tạo ra một SSH Key, bạn cần biết sẽ có 3 thành phần quan trọng như sau:
- Public Key (dạng file và string) – Bạn sẽ copy ký tự key này sẽ bỏ vào file ~/.ssh/authorized_keys trên server của bạn.
- Private Key (dạng file và string) – Bạn sẽ lưu file này vào máy tính, sau đó sẽ thiết lập cho PuTTY, WinSCP, Xshell,..để có thể login.
- Keypharse (dạng string, cần ghi nhớ) – Mật khẩu để mở private key, khi đăng nhập vào server nó sẽ hỏi cái này.
I. Cách tạo SSH Key
Mình thực hiện trên Xshell, Mở Xshell lên và Click vào Tools => User Key Manager
Click vào Generate để tạo
Chọn Key Type kiểu RSA, Key Length chọn 2048 hoặc 4096 => Next
Click Next
- Key name: Nhập tên tùy ý
- Passphrase: Bạn nhập pass vào, pass này sẽ nhập khi bạn truy cập vào vps với khóa
Bạn click Save as a file để lưu public key lại => Finish
Tạo hoàn tất, bạn sẽ thây Privakey Key ở định dạng ppk, bạn có cần Export ra và lưu lại, để sử dụng ở thiết bị khác.
II. Cách thêm SSH Key và truy cập
Sau đó bạn SSH vào vps và thực hiện tạo thư mục và file như sau
mkdir ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
Bạn vào file authorized_keys và dán public key đã tạo trước đó vào
Lệnh:
vi ~/.ssh/authorized_keys
Bây giờ bạn out ra và truy cập vps với SSH KEY như sau
- Chọn Public key
- User Key: Chọn User đã tạo trước đó
- Passparase: Nhập pass lúc tạo SSH Key vào
Hoàn tất rồi nhé
Chúc bạn thực hiện thành công!