Nếu bạn đang thêm SSH Key vào GitHub để clone/push dự án, nhưng lại gặp thông báo lỗi:

“Key is already in use”,
thì bạn không cô đơn đâu. Đây là lỗi thường gặp, đặc biệt khi bạn dùng nhiều máy, nhiều tài khoản GitHub, hoặc từng thao tác SSH key trước đó mà quên mất.

Trong bài viết này, mình sẽ giải thích ngắn gọn nguyên nhân và hướng dẫn bạn cách xử lý lỗi này theo từng trường hợp, từ cơ bản đến nâng cao. Mục tiêu là giúp bạn tiếp tục làm việc với GitHub qua SSH mà không bị vướng lỗi phiền phức này nữa.

🔍 Nguyên nhân của lỗi “Key is already in use”

GitHub báo lỗi này khi bạn cố gắng thêm một SSH key đã tồn tại trong hệ thống. Có 2 lý do chính:

  1. SSH Key đã được thêm vào một tài khoản GitHub khác.
    → Một key không thể dùng cho nhiều tài khoản GitHub cùng lúc.
  2. SSH Key đã từng được thêm vào chính tài khoản bạn đang dùng.
    → Nếu bạn thêm lại key cũ, GitHub sẽ báo trùng.

✅ Cách khắc phục lỗi “Key is already in use”

🧪 Bước 1: Kiểm tra key hiện tại

Mở Terminal và chạy lệnh sau:

shell
cat ~/.ssh/id_rsa.pub

Hoặc, nếu bạn dùng một key khác (ví dụ id_ed25519):

shell
cat ~/.ssh/id_ed25519.pub

→ Sao chép nội dung key và kiểm tra trong GitHub:
Truy cập: GitHub > Settings > SSH and GPG keys
Xem thử key đã tồn tại chưa. Nếu có rồi, không cần thêm lại nữa.

🔄 Bước 2: Tạo SSH key mới nếu cần

Nếu bạn muốn dùng một key mới riêng biệt cho máy hoặc tài khoản này, hãy tạo mới:

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

Khi được hỏi lưu file ở đâu, bạn có thể đặt tên khác như:

shell
~/.ssh/id_ed25519_codetuthub

Sau đó, thêm vào ssh-agent:

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

Lấy public key để thêm vào GitHub:

shell
cat ~/.ssh/id_ed25519_codetuthub.pub

⚙️ Bước 3: Cấu hình SSH để dùng đúng key

Nếu bạn có nhiều key, bạn nên tạo file cấu hình để Git biết chọn key nào khi kết nối GitHub.

Mở file ~/.ssh/config và thêm:

shell
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_codetuthub

🧼 Bước 4: Gỡ key cũ (nếu bạn muốn dùng lại)

Nếu bạn muốn dùng lại một SSH key đang “bị chiếm chỗ” bởi tài khoản khác:

  • Đăng nhập vào tài khoản cũ
  • Truy cập Settings > SSH and GPG keys
  • Tìm và Xóa key đang bị trùng
  • Sau đó bạn có thể thêm vào tài khoản mới

☕ Kết luận

Lỗi “Key is already in use” trên GitHub không quá nghiêm trọng, nhưng nếu bạn không hiểu rõ cách hoạt động của SSH thì dễ bối rối. Hy vọng bài viết đã giúp bạn gỡ rối và hiểu rõ hơn về cách quản lý SSH Key – một kỹ năng nhỏ nhưng quan trọng trong công việc lập trình hàng ngày.

Nếu bạn thấy bài viết hữu ích, đừng quên lưu lại hoặc chia sẻ cho đồng nghiệp nhé. Và nếu bạn gặp tình huống phức tạp hơn, đừng ngại để lại bình luận để cùng trao đổi thêm!