Nội dung bài viết
Giới thiệu
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. Một khi chìa khóa mà vừa khít với ổ khóa thì cửa sẽ được mở, thế thôi.
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, MobaXterm,..để 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.
Cách tạo SSH Key trên MacOS
Bạn mở cửa sổ Terminal và gõ lệnh bên dưới
ssh-keygen -t rsa
Hệ thống sẽ hỏi bạn có đồng ý lưu Key tại đường dẫn: /Users/my-user/.ssh/id_rsa không, nếu đồng ý bạn nhấn Enter
Nếu tạo thành công, bạn sẽ nhận được 2 File id_rsa (Private Key) và id_rsa.pub (Public Key) như hình dưới nằm tại đường dẫn: /Users/my-user/.ssh
Để xem nội dung file id_rsa.pub (Public Key) , bạn có thể sử dụng lệnh bên dưới.
cat ~/.ssh/id_rsa.pub
Chúc các bạn thực hiện thành công.!