Trang chủ » Bài viết hữu ích » Hướng dẫn tạo và sử dụng SSH Key với Gitlab và Github

Bài viết hữu ích

Hướng dẫn tạo và sử dụng SSH Key với Gitlab và Github

02/05/2024

SSH là gì?

SSH là một chương trình tương tác giữa máy chủ và máy khách có sử dụng cơ chế mã hoá đủ mạnh nhằm ngăn chặn các hiện tượng nghe trộm, đánh cắp thông tin trên đường truyền. Các chương trình trước đây: telnet, rlogin không sử dụng phương pháp mã hoá. Vì thế bất cứ ai cũng có thể nghe trộm thậm chí đọc được toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ đơn giản. Sử dụng SSH là biện pháp hữu hiệu bảo mật dữ liệu trên đường truyền từ hệ thống này đến hệ thống khác.

1. Bảo mật các kết nối của máy tính với server.

2. Không phải nhập mật khẩu github hoặc gitlab mỗi lần pull hoặc push code.

Cơ chế làm việc

Bạn sẽ có 2 key: public keyprivate key. Bạn sẽ gửi public key của mình cho git server của bạn (gitlab hay github chẳng hạn).

Xong ssh-agent sẽ làm tất cả những việc còn lại cho bạn. Mỗi lần bạn push, ssh-agent sẽ tự gửi kèm các thông tin chứng thực đi, github sẽ nhận diện ra bạn, và bạn không cần phải nhập mật khẩu nữa.

Tạo SSH Key

Bước 1: Kiểm tra xem máy bạn có ssh key nào chưa

Mở cửa sổ dòng lệnh (terminal) và chạy lệnh:

$ ls -al ~/.ssh

Lệnh trên sẽ kiểm tra trong thư mục .ssh (nằm ở thư mục gốc của user bạn đang đăng nhập vào máy, Vd trên Linux: /root/.ssh) có ssh key nào chưa, mặc định, các ssh key thường sẽ có dạng:

id_rsa
id_rsa.pub
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub

public key sẽ có đuôi .pub (id_rsa.pub), private key thì không có đuôi (id_rsa) Nếu có một cặp ssh key nào trong thư mục này (giả sử là id_rsa và id_rsa.pub), bạn có thể bỏ qua Bước 2 và chuyển thẳng sang Bước 3.

Bước 2: Sinh một SSH key mới

Chạy lệnh sau trên terminal:

ssh-keygen -t rsa -b 4096 -C "email_cua_ban@example.com" 

Để ngắn gọn hơn bạn có thể sử dụng lệnh này:

ssh-keygen -t rsa

Để tránh phiền phức sau này, mình khuyên bạn nên để các cài đặt ở mặc định, như lần này, ssh-agent hỏi bạn muốn lưu key của mình ở đâu thì bạn cứ thế mà Enter thôi:

Enter file in which to save the key (/root/.ssh/id_rsa): [Press enter]

Nếu bạn muốn tạo một tên ssh-key khác thì hãy nhập đường dẫn cần lưu vào đây (Vd: /root/.ssh/id_rsa)

Tiếp đến thì nhập mật khẩu cho key của bạn:

Enter passphrase (empty for no passphrase): [Type a passphrase]
# Enter same passphrase again: [Type passphrase again]

Lưu ý: mật khẩu khi bạn gõ vào nó sẽ không hiển thị mấy dấu *** như bình thường, nhưng bạn cứ gõ xong rồi Enter thôi. Thêm nữa, bạn nên chọn một mật khẩu ĐỦ MẠNH cho mình. Bạn có thể để trống và Enter để tiếp tục. Nếu có mật khẩu thì sẽ bảo mật hơn.

Sau khi nhập mật khẩu, bạn sẽ nhận được thông báo về việc mật khẩu đã lưu vào địa chỉ lúc nãy bạn chỉ định:

Your identification has been saved in /root/.ssh/id_rsa.
# Your public key has been saved in /root/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db email_cua_ban@example.com

Bước 3: Thêm key của bạn vào ssh-agent

ssh-agent là trình quản lý ssh key của bạn, công việc của nó thì nãy mình có nói qua ở trên rồi đó.

Đảm bảo rằng ssh-agent đã được kích hoạt bằng lệnh:

eval "$(ssh-agent -s)"
# Agent pid 59566

Add ssh key của bạn vào ssh-agent:

ssh-add ~/.ssh/id_rsa

Lưu ý: id_rsa chính là private key của bạn, nếu ở bước 2, bạn có key khác thì thay tên key tương ứng vào.

Bước 4: Thêm ssh public key vào tài khoản trên server của bạn (github, gitlab...)

Copy ssh key vào clipboard:

pbcopy < ~/.ssh/id_rsa.pub

Thủ công hơn thì bạn có thể dùng lệnh sau để show nội dung file ssh-key và tiến hành copy nó.

cat ~/.ssh/id_rsa.pub

Đối với Github

Truy cập vào địa chỉ: https://github.com/settings/profile

Click chọn SSH and GPG keys (1) > New SSH Key (2)

Phần Tittle chỉ là để đặt tên thôi nên bạn muốn để là gì cũng được. Phần Key hãy nhập nội dung mà bạn copy hồi nãy nào

Sau đó click nút Add SSH Key

Đối với Gitlab

Bạn truy cập vào: https://gitlab.com/-/profile/keys

Sau đó làm tương tự các bước như Github ở trên

Bước 5: Kiếm tra lại kết nối

ssh -T git@gitlab.com

Với github thì là ssh -T git@github.com Có thể bạn sẽ nhận được thông báo về việc thêm host gitlab vào danh sách tin cậy:

The authenticity of host gitlab.com (207.97.227.239) can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

Bạn chỉ việc gõ yes vào terminal rồi Enter là được. Và bạn sẽ nhận được dòng thông báo thành công:

Welcome to GitLab, @admin!

Hoặc github:

Hi admin! You've successfully authenticated, but GitHub does not
# provide shell access.

Như vậy là bạn đã có thể sử dụng link SSH rồi.

 

Bài viết liên quan


Trong thời đại số ngày nay, việc tiếp cận và tương tác với khách hàng thông qua email là một phần quan trọng của chiến lược tiếp thị trực tuyến. Để giúp doanh nghiệp tối ưu hóa hiệu suất chiến dịch email, phần mềm gửi email hàng loạt E-Marketing đã trở thành một công cụ quan trọng giúp đưa sản phẩm và dịch vụ đơn vị của bạn đến với nhiều khách hàng hơn.
Sử dụng máy tính nhiều giờ liền ảnh hưởng đáng kể đến sức khỏe. Hãy dành thời gian quan tâm tới thông điệp từ cơ thể để luôn giữ được “phong độ”. 6 gợi ý sau đây sẽ rất hữu ích với bạn.
Có rất nhiều blog về marketing, blog làm seo (Search Engine Optimization), nhiều diễn đàn bàn luận về seo, các twitter và facebook chia sẽ thông tin seo … Quá nhiều thông tin làm cho bạn mất phương hướng, nhất là những bạn mới vào nghề tìm hiểu về SEO. Do đó hôm nay, SoftvietDesign chia sẽ kinh nghiệm cho bạn mới vào nghề.
Không khó nếu bạn đã xác định được rõ mục tiêu và làm việc với đối tác là một công ty chuyên nghiệp trong thiết kế và phát triển các công cụ thương mại điện tử. Bạn có thể định nghĩa theo ISO "là sự thoả mãn yêu cầu của người dùng", không sai nhưng quá chung chung
Cho đến nay, số người sử dụng Internet đã lên đến con số hang trăm triệu người, và bất cứ một doanh nghiệp nào dường như cũng cần phải có một website riêng.
Tên miền (domain) là điều đầu tiên bạn phải nghĩ đến khi quyết định xây dựng một website. Cũng như tên doanh nghiệp hay thương hiệu hàng hóa, việc lựa chọn một Tên miền phù hợp với mục tiêu kinh doanh là một trong những yếu tố quan trọng tạo nên thành công của website.
Các bài viết hướng dẫn tạo email theo tên miền riêng miễn phí hiện nay khi bạn tìm kiếm ở Google hầu hết đều hướng dẫn tạo email tên miền riêng sử dụng Gmail, Zoho hay Yandex. Trong tất cả các dịch vụ cho phép tạo email theo tên miền riêng, thì mình sẽ giới thiệu các bạn sử dụng Yandex
Website là một trong những công cụ bán hàng xuất sắc nhất mà một doanh nghiệp cần có. Song ít có ai khẳng định website như một nhân viên bán hàng xuất sắc. Nắm bắt điều này và các doanh nghiệp sẽ thấy được nhiều kết quả khác biệt với công việc kinh doanh của mình.
Một khi doanh nghiệp bạn có nhu cầu kinh doanh trực tuyến thì việc thiết kế website là một điều tất yếu, song để thiết kế được một website chuyên nghiệp và thành công thì lại không phải là điều dễ dàng. Qua nhiều năm kinh nghiệm trong lĩnh vực thiết kế website cho hàng trăm khách hàng, ở bài viết này SoftVietDesign sẽ chia sẻ đến các bạn một số tiêu chí và nguyên tắc để có được một website chuyên nghiệp nhằm tạo một nền tảng cho việc kinh doanh trực tuyến thành công

 

0988 542 856
0988 542 856