Sử dụng nhiều tài khoản Github trên cùng máy tính

Published November 10, 2025 by admin
Uncategorized
Sử dụng nhiều tài khoản Github trên cùng máy tính

Hướng dẫn cấu hình SSH Keygen trên Github và config ssh local để có thể sử dụng nhiều tài khoản github bằng alias tương ứng

Các bước liên kết git local và remote git thông thường

1. Tạo ssh keygen bằng rsa

ssh-keygen -t rsa -b 4096 -C "your-email@gmail.com" -f ~/.ssh/id_rsa_personal

Giải thích nhanh:

  • -t rsa → loại key RSA
  • -b 4096 → độ dài key (bảo mật cao hơn mặc định 2048)
  • -C → thêm comment/email để dễ nhận diện
  • -f → đường dẫn + tên file key (không cần .pub, nó sẽ tự tạo thêm file .pub)

Chú ý: nếu không đặt tên file key thì mặc định sẽ có tên là id_rsa

Copy key vừa tạo

pbcopy < ~/.ssh/id_rsa_personal.pub

2. Thêm keygen vào remote SSH

Login github account > Settings > SSH & GPG keys

New ssh key > Dán key vừa copy ở bước 1 vào ô textarea > Lưu

3. Kiểm tra connection

Chạy lệnh

ssh -T git@alias-name

=> Kết quả:

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

Giải thích alias-name là tên alias trong file config .ssh/config

Có thể kiểm tra tên alias bằng cách chạy lệnh

nano ~/.ssh/config

Có thể tham khảo cấu trúc sau


# Cá nhân
Host tien-dn
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_personal

# Công ty
Host employee
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Host company
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Trong đó, Host là tên alias sẽ sử dụng keygen nào mà bạn muốn. Ví dụ ở đây tôi muốn dùng 1 tài khoản github cá nhân để quản lý các project cá nhân, và 1 tài khoản github công ty cho dự án.

Tạo 2 alias là tien-dn (cá nhân), và employee (công ty)

tien-dn sẽ dùng keygen từ .ssh/id_rsa_personal

employee sẽ dùng keygen từ .ssh/id_rsa (đây là keygen mặc định lúc mới tạo)

File config này có ý nghĩa, khi dùng git clone hoặc git add remote origin sẽ phải thêm vào alias cho nó, ví dụ như

git remote add origin git@github.com:{your-username}/myrepo.git

Nếu dụng alias sẽ là:

git remote add origin git@tien-dn:tien-dn/myrepo.git

Ý nghĩa của lệnh này là connect remote với repo của tien-dn (tên này mình đặt bị giống với alias, nếu là công ty thì sẽ là company name). Còn git@tien-dn nghĩa là hãy sử dụng config của alias tien-dn

4. Config user.name và user.email

Nhớ config thêm bước này để tránh push nhầm code lên repo công ty với author là account cá nhân nhé (hoặc ngược lại)

git config user.name "your-git-username"
git config user.email "your-git-email@gmail.com"

Nếu bạn bật Keep my email addresses private trong Settings thì hãy dùng email no-reply của github. Đây là 1 public email được github gen ra tự động

git config user.email "your-email@users.noreply.github.com"

5. Cấu hình tự động apply github profile tương ứng với folder

Với folder bạn muốn sử dụng git profile cá nhân, thay vì gõ git config 1 cách thủ công, hãy sử dụng file config:

nano ~/.gitconfig-personal

Với nội dung bên trong:

[user]
    name = "username"
    email = "12345678+username@users.noreply.github.com"

Chỉ cần tạo project bên trong folder chứa git config này thì sẽ tự động apply account git cá nhân của bạn

Chúc bạn thành công ^^