Blog Single

Hướng Dẫn Cài Đặt SSH Key Cho Git: Kết Nối GitHub/GitLab Không Cần Mật Khẩu

Nếu bạn đang làm việc với Git hàng ngày, việc sử dụng giao thức HTTPS để clone, push hay pull code sẽ yêu cầu bạn phải liên tục nhập Personal Access Token (PAT) hoặc mật khẩu. Điều này không chỉ làm giảm hiệu suất làm việc mà còn tiềm ẩn rủi ro rò rỉ token.

Giải pháp tối ưu và chuyên nghiệp nhất chính là cài đặt SSH Key cho Git. Trong bài viết này, Techblog.vn sẽ hướng dẫn bạn từng bước cách tạo và cấu hình khóa SSH chuẩn bảo mật mới nhất, giúp bạn giao tiếp với GitHub hoặc GitLab một cách mượt mà.

1. Tại sao lập trình viên nên sử dụng giao thức SSH thay cho HTTPS?

SSH (Secure Shell) hoạt động dựa trên cơ chế xác thực bằng cặp khóa (Key-pair authentication) bao gồm:

  • Private Key (Khóa bí mật): Lưu trữ an toàn trên máy tính cá nhân của bạn. Tuyệt đối không chia sẻ cho bất kỳ ai.

  • Public Key (Khóa công khai): Được tải lên các máy chủ quản lý mã nguồn như GitHub, GitLab hay Bitbucket.

Khi máy tính của bạn kết nối với GitHub, hệ thống sẽ dùng Public Key để kiểm tra và giải mã thông điệp được ký bởi Private Key. Nếu khớp, bạn được phép thao tác với kho lưu trữ (repository) mà không cần gõ bất kỳ mật khẩu nào.

2. Hướng dẫn tạo (Generate) SSH Key mới trên máy tính

Hiện nay, thuật toán Ed25519 được khuyến nghị sử dụng thay thế cho RSA truyền thống vì nó bảo mật hơn, tốc độ sinh khóa nhanh hơn và độ dài chuỗi khóa ngắn hơn rất nhiều.

Bước 1: Mở Terminal hoặc Git Bash

  • Windows: Mở phần mềm Git Bash (khuyên dùng) hoặc PowerShell.

  • macOS / Linux: Mở ứng dụng Terminal mặc định.

Bước 2: Chạy lệnh khởi tạo khóa SSH

Nhập dòng lệnh sau, thay thế email bằng địa chỉ email bạn dùng để đăng ký tài khoản GitHub/GitLab:

Bash

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

Hệ thống sẽ hiển thị thông báo yêu cầu bạn chọn nơi lưu file. Để tránh rắc rối, bạn cứ nhấn Enter để lưu ở thư mục mặc định (~/.ssh/id_ed25519).

Tiếp theo, hệ thống sẽ hỏi bạn có muốn đặt passphrase (mật khẩu bảo vệ thêm cho Private Key) hay không. Nếu muốn thao tác hoàn toàn tự động, bạn có thể nhấn Enter hai lần để bỏ qua bước này.

3. Thêm SSH Key vào hệ thống ssh-agent

ssh-agent là một chương trình chạy ngầm giúp quản lý các Private Key của bạn. Để hệ thống nhận diện khóa vừa tạo, bạn cần thêm nó vào agent.

Khởi động ssh-agent ở chế độ nền bằng lệnh:

Bash

eval "$(ssh-agent -s)"

Thêm khóa SSH (Private Key) của bạn vào ssh-agent:

Bash

ssh-add ~/.ssh/id_ed25519

4. Cách đưa Public Key lên GitHub / GitLab

Để GitHub nhận diện được máy tính của bạn, bạn phải copy nội dung của Public Key (có đuôi .pub) và dán vào phần cài đặt tài khoản.

Bước 1: Copy chuỗi khóa Public Chạy lệnh sau để hiển thị nội dung khóa, sau đó bôi đen và copy toàn bộ đoạn text hiện ra:

Bash

cat ~/.ssh/id_ed25519.pub

(Trên Windows, bạn cũng có thể dùng lệnh clip < ~/.ssh/id_ed25519.pub để copy thẳng vào clipboard).

Bước 2: Cấu hình trên GitHub

  1. Đăng nhập vào GitHub, bấm vào ảnh đại diện ở góc phải chọn Settings.

  2. Ở menu bên trái, tìm và chọn mục SSH and GPG keys.

  3. Bấm vào nút màu xanh New SSH key.

  4. Điền Title (Ví dụ: “Laptop Cong Ty” hoặc “MacBook Ca Nhan” để dễ quản lý).

  5. Dán toàn bộ nội dung vừa copy vào ô Key và nhấn Add SSH key.

5. Kiểm tra kết nối (Test Connection)

Để chắc chắn rằng bạn đã cài đặt SSH Key cho Git thành công, hãy mở Terminal và chạy lệnh test kết nối với máy chủ GitHub:

Bash

ssh -T git@github.com

Nếu lần đầu tiên kết nối, hệ thống sẽ hỏi Are you sure you want to continue connecting (yes/no/[fingerprint])?. Hãy gõ yes và nhấn Enter.

Nếu bạn nhận được thông báo có nội dung dạng:

“Hi [Tên_Username]! You’ve successfully authenticated, but GitHub does not provide shell access.”

Xin chúc mừng! Bạn đã tích hợp thành công. Từ nay, bạn hãy nhớ sử dụng đường dẫn dạng git@github.com:username/repo.git thay vì link HTTPS khi clone code nhé.

Tổng kết

Việc thiết lập và cài đặt SSH Key cho Git là kỹ năng bắt buộc phải có của mọi lập trình viên, giúp quá trình làm việc nhóm hiệu quả và an toàn hơn. Nếu gặp lỗi Permission denied (publickey) trong quá trình cài đặt, hãy kiểm tra lại xem bạn đã copy đúng file .pub chưa và ssh-agent đã hoạt động đúng cách chưa.

Tiếp tục đồng hành cùng Techblog.vn để khám phá thêm nhiều thủ thuật tối ưu quy trình phát triển phần mềm (DevOps) chuyên nghiệp nhất!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *