Vanhiep.NET - Chuyên gia Thiết kế Website & Ứng dụng

Cấu Hình ~/.ssh/config Để Làm Việc Với Cả GitHub và GitLab

✅ Cách cấu hình ~/.ssh/config cho cả GitHub và GitLab:

# Cấu hình cho GitHub
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_key
    TCPKeepAlive yes
    IdentitiesOnly yes

# Cấu hình cho GitLab
Host gitlab.com
    HostName gitlab.com
    User git
    IdentityFile ~/.ssh/gitlab_key
    TCPKeepAlive yes
    IdentitiesOnly yes

???? Giải thích:

  • Host: tên bạn sử dụng trong lệnh git (ở đây dùng trực tiếp github.comgitlab.com)
  • HostName: tên thật của máy chủ Git, thường giống với Host
  • User: luôn là git khi sử dụng giao thức SSH với GitHub hoặc GitLab
  • IdentityFile: đường dẫn tới file SSH private key tương ứng với từng dịch vụ
  • IdentitiesOnly yes: đảm bảo chỉ dùng key được chỉ định, tránh lỗi khi có nhiều SSH key

✅ Kiểm tra sau khi cấu hình

Chạy lệnh sau để kiểm tra kết nối SSH:

ssh -T git@github.com
ssh -T git@gitlab.com

Nếu nhận được thông báo như sau thì đã thành công:

  • GitHub:
    Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
  • GitLab:
    Welcome to GitLab, @your-username!

???? Lưu ý:

Nếu bạn sử dụng git remote theo kiểu:

git@github.com:username/repo.git
git@gitlab.com:username/repo.git

Thì cấu hình trên là đủ. Nếu bạn sử dụng host alias (ví dụ git@github-alias:...), bạn cần thay Host thành alias đó.

Nếu cần mình kiểm tra file ~/.ssh/config cụ thể của bạn, hãy gửi nội dung để mình hỗ trợ thêm.