[Git] - Sử dụng ssh với các tài khoản Git khác nhau
Trong quá trình làm dự án đôi lúc chúng ta phải sử dụng các tài khoản Git khác nhau cho từng dự án. Github quy định mỗi ssh key chỉ được gắn cho một tài khoản. Bài viết nhỏ sẽ note lại chi tiết các bước để sử dụng ssh với các tài khoản git khác nhau. 1. Tạo folder để chứa source code 2. Từ folder ...
Trong quá trình làm dự án đôi lúc chúng ta phải sử dụng các tài khoản Git khác nhau cho từng dự án. Github quy định mỗi ssh key chỉ được gắn cho một tài khoản. Bài viết nhỏ sẽ note lại chi tiết các bước để sử dụng ssh với các tài khoản git khác nhau.
1. Tạo folder để chứa source code 2. Từ folder này, bật terminal. 3. Khởi tạo ssh-keyssh-keygen -t rsa -b 4096 -C "your_email@gmail.com"
Giải thích ngắn gọn chút, ssh-key hiểu đơn giản là một phương thức chứng thực người dùng truy cập bằng cách đối chiếu giữa một key cá nhân (Private Key) và key công khai(Public Key). Ở bài này nói rõ thêm về ssh-key
4. Nhập chính xác đường dẫn chưa file rsa mới được tạo ra trong thư mục .sshTốt nhất tạo thêm file rsa khác, không trùng lặp với file rsa có sẵn chúng ta đã tạo ra từ trước đó
Nhập pass cho file rsa mới này, bạn phải nhớ pass để khi pull code sau này, terminal sẽ hỏi đến.
5. Khởi động ssh-agent :eval "$(ssh-agent -s)"6. Thêm cái ssh private key vào ssh-agent và lưu giữ trong keychain:
ssh-add -K ~/.ssh/id_rsa_your_project_name7. Thực hiện copy đoạn mã rsa trong file .pub để đẩy lên phần seting SSH ở tài khoản Git của bạn.
pbcopy < ~/.ssh/id_rsa_your_project_name.pub8. Mở tài khoản Git của bạn, vào phần Setting/SSH and GPG key, sau đó tạo SSH key mới vào paste cái đoạn mã ở phần 7 vào. 9. Tiếp theo, sửa file config ở thư mục .ssh
Ví dụ:
Host github.com-acount_git_name HostName github.com User git IdentityFile "~/.ssh/id_rsa_your_project_name"
Trong trường hợp bạn thêm account git nữa thì làm tuần tự các bước như trên, cuối cùng làm thêm thông tin y hệt bước 9:
Host github.com-acount_git_name HostName github.com User git IdentityFile "~/.ssh/id_rsa_your_project_name" Host github.com-acount_git_name_other HostName github.com User git IdentityFile "~/.ssh/id_rsa_your_project_name_other"10. Thực hiện clone source code thông qua SSH URLs
git clone git@github.com:zmeyc/UITestUtils.git11. Sau khi lấy source về, thay đổi nội dung trong file .config trong thư mục git
Chú ý nhớ thêm account git name vào Ví dụ:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = git@github.com-acount_git_name:zmeyc/UITestUtils.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "develop"] remote = origin merge = refs/heads/develop [user] name = acount_git_name email = "your_email@gmail.com"
OK, tương tự cho các account git khác.