Использование нескольких учетных записей Github на одной машине

Я считаю, что любому разработчику в какой-то момент времени понадобятся отдельные аккаунты GitHub для разных типов проектов. Поскольку большинство компаний используют частные репозитории, возможно, кому-то понадобится личный аккаунт для демонстрации своих талантов.
Для этого мы будем использовать SSH-ключи, которые являются еще одним способом аутентификации, а не обычные имя пользователя и пароль.
Прежде чем приступить к описанию шагов, я хотел бы немного рассказать вам о том, как работают ключи SSH и насколько они важны:

Ключи SSH

Ключ SSH состоит из двух частей: открытого ключа, который используется для шифрования сообщения, которое может быть расшифровано только с помощью закрытого ключа, и закрытого ключа, который хранится только локально на машине.
SSH очень безопасен, так как трудно переделать ваш открытый ключ, чтобы получить ваш закрытый.
Теперь давайте вернемся к этапам, для демонстрации я буду использовать ОС Windows 10, но шаги те же самые, особенно если вы используете BASH (Bourne Again Shell).

ШАГ 1: Генерация ключей SSH
На моем ноутбуке у меня есть две учетные записи, одна называется workaccount@gmail.com и personalaccount@gmail.com. Я буду создавать SSH-ключи для них обеих. Перед созданием ключей нам нужно создать папку ssh, в которой будут храниться все наши ключи. Я бы рекомендовал сделать папку скрытой (она должна начинаться с точки/полной точки, например, .ssh) внутри корневого каталога.

SSH-ключ для рабочей учетной записи:

ssh-keygen -t rsa -b 4096 -C "workaccount@gmail.com" -f ~/.ssh/workaccount_key
Войти в полноэкранный режим Выход из полноэкранного режима

SSH-ключ для моей личной учетной записи:

ssh-keygen -t rsa -b 4096 -C "personalaccount@gmail.com" -f ~/.ssh/personalaccount_key
Войти в полноэкранный режим Выйти из полноэкранного режима

-f используется для задания имени файла.
-C используется для добавления комментария, чтобы вы знали, какая учетная запись будет использовать тот или иной ключ.
После нажатия кнопки Enter вам будет предложено ввести парольную фразу, это повысит уровень безопасности, но вы можете оставить ее пустой.

ШАГ 2: Добавление ключей в Github
Если вы найдете папку .ssh, то увидите два файла с расширением .pub. Если вы откроете их, используя любой текстовый редактор, содержимое должно выглядеть примерно так.
Это пример ключа моего личного аккаунта, который мы собираемся добавить в GitHub.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCq7oreopBjhStlWXnYhhHIlEc2ch8J/AkqjgfBo/q5h/Q/YaQZGRWTDUQyiWdaon1swynSK13tIoU72K4avz/9i472THYVfdxacr+tHU5FtxludxN84Ss6Shglnom61gOwrkbgizrWm4vp41DfIzT+XBl8kG4o1zYWwXUOatsOGOnEKvTmXViCX2pTXSpF2+Lt3d/YI7UsSy2PnICzLxFjDDiWpWtI6VyK0bXJyvRMrwBX9XRjxjwPXK179BqmiuwauCTD9uYanBWgeu+hcJOO6phdFspph8zHje37K+fWoJzDytFK3Rr1mYX3xXN+UWo4w6sayjlP+41AtX8mJqOLjO1odm5OI250sIuVBjOTF4pUL/weL9FcU1BxKQk//OERXM0F9WKXu0I8GqMLiSUf6BQ7WXVtyHQ7IGAb1fDLrKEQy6oO6gEs5bORmeV93Yo8XclI3Q9MRKmTcM8nCSAobru8CQR0JI0nV2rNGJasVFXnc+NMaQfysXFo66c9oFpPu6h3lMhkdSh/SqBLwCjnpiUaLMzu+CvmqTxD0eWyxBpDFfwkeUYBauHNxw6Bqi3f4JQRqzBVTQlrCClPtXnlnLnxdRboV/YTEixZ4Z+xUQcb8IPqjYsaE7zBQp3VEW55O7V3war64oilbUJGkrtzF7qecbNqKaA9vR4JDSHRdQ== personalaccount@gmail.com

-Войдите в свой аккаунт GitHub.

-Выберите опцию настроек.

-Выберите опцию SSH и GPG ключи и нажмите .

новый SSH-ключ

  • Скопируйте все содержимое файла personalaccount_key.pub и вставьте его в поле ввода ключа, а в качестве заголовка вы можете указать что угодно на ваш выбор.

Выйдите из этой учетной записи и сделайте то же самое для другой учетной записи.

ШАГ 3: Создание файла конфигурации SSH

Затем в папке .ssh нужно создать файл конфигурации SSH, который позволит вам определить конкретные настройки для каждого хоста (учетной записи). Я создал свой файл, введя следующую команду в BASH:

touch config
Войти в полноэкранный режим Выйти из полноэкранного режима

После создания файла откройте его в любом текстовом редакторе, вставьте следующий текст и отредактируйте его соответствующим образом.

#Default GitHub
Host github.com
  HostName github.com
  User personalaccount 
  IdentityFile ~/.ssh/personalaccount_key
 IdentitiesOnly yes

# Other github account: work
Host githubwork
HostName github.com
  User workaccount
   IdentityFile ~/.ssh/workaccount_key
   IdentitiesOnly yes
Ввести полноэкранный режим Выйти из полноэкранного режима

ШАГ 4: Регистрация ключей в ssh-agent

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

Вы запускаете ssh-agent с помощью следующей команды в bash:

eval "$(ssh-agent -s)"
Войти в полноэкранный режим Выйти из полноэкранного режима

Добавить ключи SSH

ssh-add personalaccount_key
Войти в полноэкранный режим Выйти из полноэкранного режима
ssh-add workaccount_key
Войти в полноэкранный режим Выйти из полноэкранного режима

Вы также можете проверить, работают ли ваши ключи SSH, используя :

 ssh -T githubwork
Войти в полноэкранный режим Выйти из полноэкранного режима

Мы закончили, далее я хочу показать вам, как клонировать ваши репозитории и ассоциировать коммиты с вашим именем.

Клонирование ваших репозиториев

git clone git@github.com:personalaccount/FirstApp.git
Вход в полноэкранный режим Выход из полноэкранного режима

Ассоциирование коммитов с вашим именем

После клонирования вы должны перейти к определенному файлу и открыть его.
Git BASH и вставить следующие команды:

git config user.name "personalaccountname"
Войти в полноэкранный режим Выйти из полноэкранного режима
git config user.email "personalaccount@gmail.com"
Войти в полноэкранный режим Выйти из полноэкранного режима

Оцените статью
Procodings.ru
Добавить комментарий