# Cấu hình ssh key nhiều tài khoản github trên cùng một máy tính

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.

Đi đến thư mục tạo key

cd ~/.ssh

Tạo ssh key

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

Cài đặt ssh key trên github

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

Cài đặt Github Host

Ở đâ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:

  • Host tuan.github.com: Bạn cần đặt tên định dạng [name].github.com
  • IdentityFile ~/.ssh/id_rsa_tuan: Lấy private tương ứng

Sau đó chạy lệnh sau để áp dụng config mới

ssh-keygen -R github.com

Cách sử dụng

Khi muốn clone một repo mới trên github.

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

Add remote với repo mới:

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.

Bình luận