Как использовать несколько ключей git на одном компьютере одновременно

Git GitHub
Как использовать несколько ключей git на одном компьютере одновременно

Если ❤️моя статья оказалась полезной, ставьте лайк и подписывайтесь. Это самый большой стимул для меня продолжать техническое творчество.

причина

Склад кода gitlab для компании, склад кода github для частных лиц;

Затем недавно github был медленным и был河蟹После этого потеря пакетов усилилась. Поэтому, чтобы не влиять на использование, было добавлено внутреннее облако кода.gitee;

Бывало, что я перенастроил ключ склада, и сделал запись, чтобы было удобно менять машину и сбрасывать систему перед использованием.

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

Ради иллюстрации я предполагаю, что все ключи нужно перенастроить. Если на машине уже настроены другие ключи, сгенерируйте новый ключ напрямую (будьте осторожны, чтобы не перезаписать已经生成好ключ)

Сгенерируйте ключ rsa с помощью команды терминала ssh

ssh-keygen -t rsa -C "адрес электронной почты 1" -f ~/.ssh/id_rsa_github

-f — адрес хранения ключей. По умолчанию当前路径. Продолжайте, процесс выглядит следующим образом:

QQ截图20210524214918.png

В настоящее время~/.sshВ каталоге будут сгенерированы два файла, соответствующие открытому ключуid_rsa_github.pubи закрытый ключid_rsa_github.

сообщить открытый ключ серверу git

Откройте файл открытого ключа и скопируйте его содержимое.

vim id_rsa_github.pub

авторизоватьсяgit服务器(В этом примере github). Учетная запись GitHub> Опции настройки> SSH и GPG ключей,公钥字符串Вставьте ключ в поле ввода, сохраните и выйдите.

QQ截图20210524215702.png

по командеssh -T git@github.comконтрольная работа,

QQ截图20210524215917.pngЕсли появляется указанное выше приглашение, ключ успешно добавлен.

Настроить несколько ключей

мы повторяем шаги生成秘钥,将公钥告诉git服务器После генерации и настройки нового ключа. существует.sshновый каталог нижеconfig文件, содержимое файла следующее: Настройте следующее:

Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github
    user coderdao

Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitee
    user coderdao

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

После сохранения протестируйтеssh -T git@github.com,ssh -T git@gitee.com

QQ截图20210524220724.pngКак показано на рисунке выше, конфигурация нескольких клавиш GIT успешна

другие проблемы

Если настроеноconfigПосле файла он не вступил в силу. местныйgitКонфигурация программного обеспечения кэшируется, и можно использовать следующую команду, чтобы определить, действителен ли ключ:

QQ截图20210524221347.png

$ cd ~/.ssh

$ eval $(ssh-agent)
Agent pid 3593

$ exec ssh-agent bash

$ ssh-add ~/.ssh/id_rsa_github
Identity added: /c/Users/Administrator/.ssh/id_rsa_github

$ ssh -T git@github.com
Hi coderdao! You've successfully authenticated, but GitHub does not provide shell access.