Как да управлявате множество GitHub акаунти на една и съща машина

Като разработчици обикновено трябва да жонглираме с множество GitHub акаунти на една и съща машина. Например имаме собствен личен акаунт в GitHub за собствен проект и след това друг акаунт в GitHub, който използваме за нашия клиентски проект.

Тази статия предоставя инструкции стъпка по стъпка за настройка и работа с множество акаунти в GitHub на една и съща машина.



Управление на няколко акаунта в GitHub

В този сценарий ще създадем два различни GitHub акаунта на една и съща машина и след това ще превключваме между двата.


Генерирайте SSH ключове

Първо, трябва да създадем нашите частни / публични SSH ключове за нашите лично сметка.

Можем да направим това, като изпълним следната команда в терминал:


$ ssh-keygen -t rsa -C 'email@gmail.com' -f 'id_rsa_personal'

Горният имейл адрес е този, който използвате, за да влезете в личния си акаунт в GitHub.

Когато бъдете помолени за местоположението за запазване на ключовете, приемете местоположението по подразбиране, като натиснете enter. Двойка частен / публичен ключ се създава в местоположението по ssh по подразбиране ~/.ssh/

Нашите лични SSH ключове са:

~/.ssh/id_rsa_personal.pub и ~/.ssh/id_rsa_personal


След това създаваме нашите частни / публични SSH ключове за нашите клиент сметка:

$ ssh-keygen -t rsa -C 'email@company.com' -f 'id_rsa_company'

Горният имейл адрес е този, който използвате, за да влезете в клиентския си акаунт в GitHub.

Горната команда създава нашите клиентски SSH ключове, които се намират в ~/.ssh/

Нашите клиентски SSH ключове са:


~/.ssh/id_rsa_company.pub и ~/.ssh/id_rsa_company

Добавете SSH ключове към съответните GitHub акаунти

Влезте в личния си акаунт в GitHub и добавете вашия id_rsa_personal.pub личен публичен ключ.

След това влезте в своя клиентски акаунт в GitHub и ви добавете id_rsa_company.pub клиентски публичен ключ.

Ако не сте сигурни как да направите това, прочетете инсталирайте Git и генерирайте SSH ключове .


Актуализирайте SSH конфигурационния файл

Конфигурационният файл на SSH се намира в ~/.ssh/. Ако не виждате конфигурационен файл, създайте такъв:

$ cd ~/.ssh/ $ touch config

// Creates the file if not exists $ nano config

// Opens the file for editing

Добавете различните си профили в GitHub в SSH конфигурационния файл:

# Personal account Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal # Company account-1 Host github.com-company HostName github.com User git IdentityFile ~/.ssh/id_rsa_company

Регистрирайте SSH ключове с ssh-агент

Стартирайте вашия ssh-агент, като стартирате eval '$(ssh-agent -s)'.

След това добавете вашите SSH ключове към ssh-агента:


ssh-add ~/.ssh/id_rsa_personal ssh-add ~/.ssh/id_rsa_company

Това ще регистрира вашите SSH ключове с ssh-агент на машината.

Само един активен SSH ключ в ssh-агент наведнъж

Сега, когато създадохме нашите SSH ключове за лични и фирмени и ги регистрирахме в ssh-agent, вече можем лесно да превключваме между двата акаунта в GitHub на една и съща машина.

Трябва да се уверим, че в ssh-агента в даден момент сме добавили само съответния SSH ключ.

Например, ако работим по личния си проект, правим:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_personal
// Adds the personal ssh key

По същия начин, ако работим по наш клиентски проект, правим:

$ ssh-add -D

//removes all ssh entries from the ssh-agent $ ssh-add ~/.ssh/id_rsa_company

// Adds the company ssh key

И по този начин можем да управляваме множество GitHub акаунти на една и съща машина и да превключваме между тях, докато работим по съответните проекти.