SSH 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.
Tạo SSH key
Bạn mở Terminal nhập lệnh sau. Lệnh này để kiểm tra xem bạn đã tạo SSH trước đó chưa
ls -al ~/.ssh
Sau đó nhập tiếp lệnh sau.
ssh-keygen -t rsa
Sau đó nõ sẽ hỏi chỗ lưu. Mặc định là /home/user/.ssh
Sau đó nó sẽ hỏi có muốn tạo keyphare không? (keyphare là mật khẩu để mở private key, khi đăng nhập vào server sẽ hỏi). Bạn nhập passphrase vào.
Sau khi tạo thành công nếu bạn muốn Copy SSH key vào Clipborad nhập lệnh sau
pbcopy < ~/.ssh/id_rsa.pub
Sau đó bạn dùng lệnh cat để xem pub key, public key này sẽ mang lên server dán vào để ssh.
cat ~/.ssh/id_rsa.pub