[GIT] HƯỚNG DẪN CLONE GITHUB PRIVATE REPO BẰNG SSH

🧩 Bước 1: Kiểm tra máy đã có SSH key chưa

Mở Terminal / Git Bash và gõ:

ls ~/.ssh

Nếu bạn thấy một trong các file sau:

  • id_rsa & id_rsa.pub
  • hoặc id_ed25519 & id_ed25519.pub

👉 Bỏ qua Bước 2, sang Bước 3.

Nếu không có hoặc báo lỗi → làm tiếp Bước 2.


🔑 Bước 2: Tạo SSH key mới

Gõ lệnh:

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

Nếu máy quá cũ không hỗ trợ ed25519, dùng:

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

Khi được hỏi:

Enter file in which to save the key:

👉 Nhấn Enter (dùng đường dẫn mặc định)

Enter passphrase:

👉 Có thể:

  • Nhấn Enter (không mật khẩu)
  • Hoặc nhập mật khẩu (bảo mật hơn)

📋 Bước 3: Copy SSH public key

Gõ:

cat ~/.ssh/id_ed25519.pub

(hoặc id_rsa.pub nếu dùng RSA)

→ Copy toàn bộ dòng (bắt đầu bằng ssh-ed25519)


🌐 Bước 4: Add SSH key lên GitHub

  1. Vào GitHub → Settings
  2. Chọn SSH and GPG keys
  3. Bấm New SSH key
  4. Dán public key vào ô Key
  5. Title: ví dụ My Laptop
  6. Bấm Add SSH key

🧪 Bước 5: Kiểm tra kết nối SSH

Gõ:

ssh -T git@github.com

Lần đầu sẽ hỏi:

Are you sure you want to continue connecting (yes/no)?

👉 Gõ yes

Nếu thành công sẽ thấy:

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

📥 Bước 6: Clone repository private

Vào repo trên GitHub → bấm Code → SSH → copy link dạng:

git@github.com:USERNAME/REPOSITORY.git

Clone:

git clone git@github.com:USERNAME/REPOSITORY.git

🎉 Xong! Repo private đã được clone về máy


❗ Lỗi thường gặp & cách xử lý

❌ Permission denied (publickey)

Permission denied (publickey).

👉 Nguyên nhân:

  • Chưa add SSH key lên GitHub
  • Clone nhầm link HTTPS

👉 Kiểm tra:

ssh-add ~/.ssh/id_ed25519

❌ Clone nhầm HTTPS

❌ Sai:

https://github.com/...

✅ Đúng:

git@github.com:...

🔥 Mẹo hay

Có thể dùng nhiều GitHub account bằng nhiều SSH key

1 máy = 1 SSH key

Dùng SSH thì push/pull không cần đăng nhập

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*