19-09-2021 • ☕️ ☕️ ☕️ 32 phút trướcGit
Hôm nay mình sẽ chia sẽ cách mà mình config ssh key với nhiều account git trên một máy tính. Với mình cần config 2 account git: một là của công ty mình đang làm và 2 là account cá nhân của mình. Tương tự bạn cũng có thể config cho 3 hoặc nhiều hơn ở trên một máy tính.
cd ~/.ssh
ssh-keygen -t rsa -C "github-email-address"
Khi màn hình hiện Enter file in which to save the key (/home/<user>/.ssh/id_rsa): Đặt tên để lưu cái key thì bạn nên đặt id_rsa_[name], ví dụ mình cần 2 ssh key thì mình sẽ nhập là id_rsa_tuan và lần tạo sau là id_rsa_work
Kiểm tra xem id_rsa_tuan và id_rsa_work đã được sinh ra chưa.
ls
Danh sách các file đã được sinh ra:
id_rsa_tuan id_rsa_tuan.pub id_rsa_work id_rsa_work.pub
Trong này thì những file có đuôi .pub là key public. Ví dụ mình tạo ssh key với name là id_rsa_tuan thì id_rsa_tuan là key private còn id_rsa_tuan.pub là key public sẽ dùng để lưu trên github.com
Lấy id_rsa của email mới bạn vừa tạo. Ví dụ mình muốn copy id_rsa_tuan.pub
cat id_rsa_tuan.pub
Sau đó bạn copy key hiển thị trên terminal nhập vào ssh-key cuả tài khoản git công việc tại https://github.com/settings/keys
Ở đây mình dùng Vim để chỉnh sửa file config
vi ~/.ssh/config
Sau đó bạn cần sửa file config như sau. Ở đây thì mình cần setup 2 account .
# Tài khoản git cá nhân vẫn dùng của bạn Host tuan.github.com # config này sẽ dùng để xử lý xác định khi cấu hình remote HostName github.com User git IdentityFile ~/.ssh/id_rsa_tuan # id_rsa_tuan mà chúng ta vừa tạo PreferredAuthentications publickey # Tài khoản công việc Host work.github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_work PreferredAuthentications publickey
Trong phần config này bạn cần để ý 2 dòng cho mỗi account:
ssh-keygen -R github.com
Ví dụ dùng ssh key của "id_rsa_tuan"
git clone [email protected]:tuanndl/sample_react.git
Ví dụ dùng ssh key của "id_rsa_work"
git clone [email protected]:tuanndl/sample_react.git
Ví dụ dùng ssh key của "id_rsa_tuan"
git remote add origin [email protected]:tuanndl/sample_ruby.git
Ví dụ dùng ssh key của "id_rsa_work"
git remote add origin [email protected]:tuanndl/sample_ruby.git
Khi remote mà có lỗi thì bạn nên remove file .git của repo sau đó git init và thực hiện remote lại.
Note: Cách thức như trên bạn có thể config cho nhiều account trên git cũng được . Và có thể sử dụng tương tự cho gitlab.com.