- vừa được xem lúc

SSH Key là gì và cách sử dụng trong git

0 0 9

Người đăng: LongNguyen

Theo Viblo Asia

1. SSH key là gì?

SSH key (Secure Shell key) là một cặp mã hóa bao gồm một khóa riêng tư (private key) và một khóa công khai (public key) được sử dụng trong giao thức SSH để xác thực và bảo mật quá trình truyền tải dữ liệu và đăng nhập từ xa vào các máy chủ. SSH key thường được sử dụng để thay thế việc nhập mật khẩu khi kết nối đến một máy chủ từ xa.

2. SSH hoạt động như thế nào?

Cách hoạt động của SSH key như sau:

Máy người dùng tạo cặp khóa bằng cách sử dụng một công cụ như ssh-keygen.

Cặp khóa bao gồm một khóa riêng tư (private key) mà người dùng phải giữ bí mật và một khóa công khai (public key) mà người dùng có thể chia sẻ công khai.

Khóa công khai được cài đặt trên máy chủ mà bạn muốn kết nối vào từ xa.

Khi bạn cố gắng kết nối đến máy chủ từ xa, máy chủ sẽ gửi một thách thức đến bạn.

Máy tính của bạn sử dụng khóa riêng tư để mã hóa thách thức và gửi chúng lại cho máy chủ.

Máy chủ sử dụng khóa công khai lưu trữ trên nó để giải mã thách thức và kiểm tra xem bạn có khớp với khóa riêng tư hay không.

Nếu quá trình kiểm tra thành công, máy chủ sẽ cho phép bạn truy cập mà không cần mật khẩu.

3. Cách tạo SSH key dưới local và thêm vào tài khoản github

Để tạo một SSH key dưới máy local để sử dụng cho GitHub, bạn có thể tuân theo các bước sau:

Mở Terminal (Mac/Linux) hoặc Command Prompt (Windows): Mở ứng dụng dòng lệnh tương ứng trên máy tính của bạn.

Tạo cặp khóa SSH: Trong cửa sổ dòng lệnh, nhập lệnh sau để tạo cặp khóa SSH mới. Hãy thay đổi địa chỉ email bằng địa chỉ email mà bạn sử dụng cho tài khoản GitHub.

ssh-keygen -t ed25519 -C "your_email@example.com"

Để tạo một SSH key dưới máy local để sử dụng cho GitHub, bạn có thể tuân theo các bước sau:

Mở Terminal (Mac/Linux) hoặc Command Prompt (Windows): Mở ứng dụng dòng lệnh tương ứng trên máy tính của bạn.

Tạo cặp khóa SSH: Trong cửa sổ dòng lệnh, nhập lệnh sau để tạo cặp khóa SSH mới. Hãy thay đổi địa chỉ email bằng địa chỉ email mà bạn sử dụng cho tài khoản GitHub.

bash Copy code ssh-keygen -t ed25519 -C "your_email@example.com" Bạn cũng có thể sử dụng thuật toán mã hóa RSA bằng cách thay thế -t ed25519 bằng -t rsa.

Lưu vị trí cho khóa mới: Hệ thống sẽ hỏi bạn vị trí để lưu khóa riêng tư và khóa công khai. Mặc định, chúng sẽ được lưu trong thư mục ~/.ssh trên hệ thống Unix-like hoặc C:\Users<username>.ssh trên Windows.

Tạo passphrase (tùy chọn): Bạn có thể chọn tạo một passphrase để bảo vệ khóa riêng tư. Khi bạn sử dụng khóa, bạn sẽ cần nhập passphrase này.

Thêm khóa SSH vào ssh-agent (tùy chọn): Nếu bạn đã tạo passphrase, bạn có thể thêm khóa vào ssh-agent để không phải nhập passphrase mỗi khi sử dụng khóa. Sử dụng lệnh sau:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Đảm bảo thay thế id_ed25519 bằng tên của khóa bạn đã tạo.

Sao chép khóa công khai vào tài khoản GitHub:

Mở tập tin ~/.ssh/id_ed25519.pub (hoặc tương tự với tên khóa bạn đã chọn) bằng trình soạn thảo văn bản.

Sao chép toàn bộ nội dung của tập tin.

Đăng nhập vào tài khoản GitHub của bạn.

Truy cập Settings > SSH and GPG keys.

Nhấn vào nút "New SSH key".

Dán khóa công khai vào ô "Key".

Đặt tên cho khóa và nhấn "Add SSH key".

Bây giờ bạn đã tạo thành công khóa SSH và đã thêm khóa công khai vào tài khoản GitHub của bạn. Điều này cho phép bạn thực hiện các hoạt động trên GitHub mà không cần sử dụng mật khẩu.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 701

- vừa được xem lúc

Tập hợp những câu lệnh GIT hữu dụng

Dưới đây là một vài ví dụ về các câu lệnh Git mà tôi thường dùng. git config --global user.name "John Doe". git config --global user.

0 0 55

- vừa được xem lúc

Cấu hình CI/CD với Github (phần 2): Trigger một work flow

Events trigger. Bạn có thể cấu hình cho workflows chạy khi có một sự kiện nào đó xảy ra trên GitHub, theo một lịch có sẵn hoặc cũng có thể là một sự kiện nào đó xảy ra ngoài GitHub.

0 0 70

- vừa được xem lúc

Cấu hình CI/CD với Github (phần 1): Một ít lý thuyết

CI/CD là gì. Về mặt khái niệm là vậy nhưng về mặt triển khai thì CI/CD là quá trình tự động thực hiện các quá trình build, test, release, deploy khi có các trigger như commit/merge code lên một branch định sẵn hoặc có thể là tự động chạy theo một lịch cố định.

0 0 118

- vừa được xem lúc

Giới thiệu về Git LFS

. Git LFS là gì . Git LFS làm điều này bằng cách thay thế các tệp lớn trong repo của bạn bằng một con trỏ nhỏ.

0 0 29

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 66