Расширение на решение, опубликованное здесь Нажмите на .git, но отказано не тому пользователю, наконец-то решено для вашей конкретной ситуации, я воспроизвел ваш сценарий, и это сработало для меня.
Настройка двух имен хостов GitHub
Шаг 1: Загрузите все свои идентификационные данные, используя ssh-add
.
Шаг 2. Добавьте эти записи в .ssh/config
Host github-yazilimkafe
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_yazilimkafe
Host github-mirkancal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
Шаг 3. клонировать репозитории или установить удаленные URL с этими именами
git clone github-yazilimkafe:yazilimkafe/git-dersi.git
git clone github-mirkancal:mirkancal/some-project.git
На этом этапе вы сможете загружать и загружать в любую песочницу без каких-либо затруднений и без перезагрузки вашего промежуточного агента. Имя хоста заставит вашего агента предоставить правильную идентификационную информацию github при входе через ssh в эту изолированную программную среду.
Также используя имя github.com
:
Если вы также хотите использовать имя хоста github.com
, т. Е. Напрямую клонировать git@github.com/...
, то вам нужно беспокоиться о порядке, в котором ваш агент ssh будет представлять ключи ssh. Порядок, в котором вы добавляете свои идентификационные данные с помощью ssh-add
, не имеет значения. В моем случае .ssh/id_rsa
был ключом по умолчанию, предоставленным моим агентом, но это не всегда так.
Если вы используете gnome-keyring
, предложение об использовании отдельной папки в этом вопросе, похоже, поможет: https://unix.stackexchange.com/questions/429730/how-to-change-the-order-of-keys-in-gnome-keyring
Однако, используя мою установку Cygwin / OpenSSH агента ssh, я не смог установить .ssh/id_rsa_2
по умолчанию.
Так что в моем случае я должен использовать именованную запись в .ssh/config
, чтобы использовать .ssh/id_rsa_2
с GitHub, но я могу использовать имя github.com
, когда я хочу .ssh/id_rsa
, мой первичный ключ.