Sử dụng ssh với 2 tài khoản github cùng 1 lúc

Tình huống

Mình làm việc trong hai repository khác nhau, và mình bắt buộc phải sử dụng hai tài khoản github khác nhau. Và mình sẽ dùng giao thức ssh để tương tác.

Github quy định mỗi ssh key chỉ được gắn cho một tài khoản.

Vậy nên mình sẽ tạo hai ssh key, với file ssh key lần lượt là: foobar sau đó tiến hành add hai public key của hai file này (foo.pubbar.pub) lên hai tài khoản github.

Hiện tại, bạn đang tương tác với tài khoản Bar trên github với ssh keybar, bây giờ bạn muốn tương tác với tài khoản Foo dùng key là foo.

Lưu ý: bài viết thực hiện trên Mac OS, các hệ điều hành khác tương tự.

Giải quyết vấn đề

Chuyển sang tài khoản mới, ssh key mới

Để giải quyết vấn đề này, ta phải cấu hình lại ssh-agent trên máy mình, nhằm “Ra lệnh cho ssh biết rằng ta muốn chuyển sang ssh key foo (để tương tác với repository của Foo). Mở cửa sổ terminal:

Trước hết, kiểm tra xem mình đang tương tác với tài khoản nào:

Đảm bảo ssh-agent đã được khởi chạy

Thêm ssh key của tài khoản mới vào ssh-agent (nhập mật khẩu của ssh key khi được hỏi)

Kiểm tra xem đã sang được tài khoản mới chưa

Đến đây là bạn đã hoàn toàn có thể chuyển sang bất kỳ tài khoản nào mình muốn.

Việc ghi nhớ những lệnh này rất khó khăn, và thao tác cũng vậy, nên mình tạo một script cho nó chạy tự động.

Đơn giản hóa việc chuyển qua lại tài khoản.

cd to/root/user/path vd: cd /Users/user

Mở file foo.sh lên (/Users/user/foo.sh), sau đó viết lần lượt các lệnh kia vào file:

Thực hiện tương tự với bar.rb Cuối cùng, để cấu hình tài khoản nào, ta chỉ việc chạy file sh tương ứng:

*Lưu ý:** khi chạy lệnh thì terminal sẽ yêu cầu nhập mật khẩu của ssh key, bạn cứ nhập như bình thường thôi.

Thêm chút nữa:

Nếu tôi muốn cùng lúc đưa code của mình lên hai server khác nhau có được không?
Hoàn toàn được, bạn vui lòng đọc bài viết Git remote và việc push source code lên nhiều nơi cùng lúc của mình.
Vậy là với ssh, từ nay bạn sẽ giảm được một phần thao tác rườm ra khi làm việc với git, và tập trung vào chuyên môn của mình hơn 😛
Tada, vậy là từ nay mình có thể chuyển qua lại giữa các ssh key chỉ với 1 dòng lệnh.

Lập trình và hơn thế nữa

Spread the love
  •  
  •  
  •  
  •  
  •  

Leave a Reply

7 Comments on "Sử dụng ssh với 2 tài khoản github cùng 1 lúc"

avatar
  Subscribe  
newest oldest most voted
Notify of
trackback

[…] nhưng bạn phải sinh HAI ssh key, để biết thêm chi tiết, vui lòng đọc bài viết Sử dụng ssh với 2 tài khoản github cùng 1 lúc của […]

trackback

[…] Sao lại là gh mà không phải origin như tôi vẫn thường thấy/làm? Mời bạn đọc bài viêt này Cái link git tôi thấy cũng lạ lạ, sao không có HTTPS? Ở đây mình sử dụng giao […]

trackback

[…] nào để dùng cho đúng repo? Mẹo Nếu bạn thích dùng giao thức ssh thay vì https, bài viết này sẽ giúp bạn giải quyết vấn […]

trackback

[…] nào để dùng cho đúng repo? Mẹo Nếu bạn thích dùng giao thức ssh thay vì https, bài viết này sẽ giúp bạn giải quyết vấn […]

trackback

[…] Việc chuyển đổi quy lại hơi phiền phức, và mất thời gian. Vậy nên, mình đã tìm cách đơn giản hóa việc chuyển đổi đó. Bạn có thể xem thêm tại bài viết của mình. […]

trackback

[…] Việc chuyển đổi quy lại hơi phiền phức, và mất thời gian. Vậy nên, mình đã tìm cách đơn giản hóa việc chuyển đổi đó. Bạn có thể xem thêm tại bài viết của mình. […]