-4

[Git] Tạo một SSH key cho project như thế nào?

Chào 500 anh em yêu tech. Lại là mình đây, hôm nay lại rảnh mình chia sẻ anh em một tips về git đó là làm thế nào tạo một SSH key cho project. Cụ thể xác thực ssh key cho github, gitlab trong project.

1. SSH Key là gì?

SSH key là việc sử dụng Public SSH key ở server, và Private SSH Key ở Client để chúng xác thực khi kết nối.

  • Public Key khóa chung, là một file text - nó lại lưu ở phía Server SSH, nó dùng để khi Client gửi Private Key (file lưu ở Client) lên để xác thực thì kiểm tra phù hợp giữa Private Key và Public Key này. Nếu phù hợp thì cho kết nối.
  • Private Key khóa riêng, là một file text bên trong nó chứa mã riêng để xác thực (xác thực là kiểm tra sự phù hợp của Private Key và Public Key). Máy khách kết nối với máy chủ phải chỉ ra file này khi kết nối SSH thay vì nhập mật khẩu

(Hình minh hoạ SSH key)

2. Tạo một SSH Key

Ở đây mình tạo một ssh key dùng ed25519 và dùng .pem extension

$ ssh-keygen -t ed25519 -f ~/.ssh/git-test.pem
Enter passphrase (empty for no passphrase): # <press-enter>
Enter same passphrase again: # <press-enter>
Your identification has been saved in /home/xxxxx/.ssh/git-test.pem
Your public key has been saved in /home/xxxxx/.ssh/git-test.pem.pub

Sau khi chạy lệnh trên sẽ có 2 file là git-test.pem.pub và to git-test.pem

Các bạn đổi file git-test.pem.pub thành git-test.pub

$ mv ~/.ssh/git-test.pem.pub ~/.ssh/git-test.pub

Đối với file public key có nội dung như sau:

cat ~/.ssh/git-test.pub
ssh-ed25519 AAAAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx username@computer

Ở đây mình dùng github. Nên mình chép nội dung này và thêm vào setting trên github. Gitlab các bạn cũng làm tương tự

Thêm mới một ssh key

Đối với file private key có nội dung như sau:

cat ~/.ssh/git-test.pem
-----BEGIN OPENSSH PRIVATE KEY-----
b3Blxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxQFBgc=
-----END OPENSSH PRIVATE KEY-----

File này được lưu tại máy client các bạn để xác thực cho việc kết nối là chìa khoá để mở ổ khoá nên các bạn lưu trữ cẩn thận.

3. Tổng kết

Tổng kết lại thì qua bài vết ngắn này các bạn hiểu làm thế nào tạo một SSH key cho project dùng github, gitlab... Chúc các bạn thành công.!

Follow các kênh mình chia sẻ

Vibo chia sẻ

Youtube

Blog chia sẻ


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.