Как управлять несколькими учетными записями GitHub на одном компьютере

Как разработчики, нам обычно приходится манипулировать несколькими учетными записями GitHub на одном компьютере. Например, у нас есть собственная личная учетная запись GitHub для нашего собственного проекта, а затем еще одна учетная запись GitHub, которую мы используем для нашего клиентского проекта.

В этой статье представлены пошаговые инструкции по настройке и работе с несколькими учетными записями GitHub на одном компьютере.



Управление несколькими учетными записями GitHub

В этом сценарии мы создадим две разные учетные записи GitHub на одном компьютере, а затем будем переключаться между ними.


Сгенерировать ключи SSH

Во-первых, нам нужно создать наши закрытые / общедоступные SSH-ключи для наших личный учетная запись.

Мы можем сделать это, выполнив следующую команду в терминале:


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

Вышеупомянутый адрес электронной почты - это тот, который вы используете для входа в свою личную учетную запись GitHub.

Когда вас попросят указать место для сохранения ключей, примите расположение по умолчанию, нажав клавишу ВВОД. Пара закрытый / открытый ключ создается в расположении 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-agent

Запустите свой ssh-агент, запустив eval '$(ssh-agent -s)'.

Затем добавьте свои SSH-ключи в ssh-agent:


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

Это зарегистрирует ваши ключи SSH с помощью ssh-agent на машине.

Только один активный ключ SSH в ssh-agent за раз

Теперь, когда мы создали наши ключи SSH для личных и корпоративных пользователей и зарегистрировали их с помощью ssh-agent, теперь мы можем легко переключаться между двумя учетными записями GitHub на одном компьютере.

Нам нужно убедиться, что в ssh-agent за раз добавлен только соответствующий 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 на одном компьютере и переключаться между ними во время работы над соответствующими проектами.