Ошибка GitHub: ключ уже используется

Я создал две учетные записи GitHub. Один для моего рабочего пользователя и один для моего личного. Мне нужно было наверстать упущенное на какой-то работе и таким образом клонировать мою работу репо на мой персональный компьютер. Для того, чтобы сделать простой "git push origin master" фиксирует, не вводя мое имя пользователя и пароль, все время я просто хочу добавить свой открытый ключ из своего домашнего компьютера в рабочее репо. Однако Github дает эту ошибку:

Error: Key already use

После немного Googling я наткнулся на эту ссылку в которой говорится: "Чтобы устранить проблему, удалите ключ из другой учетной записи или репозитория и добавьте его в свою учетную запись" Конечно, есть дубликат ключа, поскольку я добавил свой домашний открытый ключ в github, чтобы я мог кодировать свои личные проекты. В конце концов, я хочу иметь возможность кодировать свое рабочее репо, используя как мой рабочий компьютер, так и персональный компьютер.

Как вы можете добавить несколько "одинаковых" открытых ключей без того, чтобы Github выбрасывал эту ошибку, а также почему в мире, является ли эта ошибка в первую очередь?

Ответ 1

Ключ уже может использоваться в других проектах github в качестве ключа развертывания, который немного сложно найти, но запустить:

ssh -T -ai ~/.ssh/id_rsa [email protected]

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

from: https://help.github.com/articles/error-key-already-in-use/#finding-where-the-key-has-been-used

Ответ 2

Вы можете создать еще один ключ, скажем id_rsa_personal.pub и добавить его в учетную запись github. Чтобы получить доступ к учетным записям github с того же ПК, отредактируйте файл .ssh/config.

    # Default GitHub
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa

    Host github-public
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa_public

    Host github-personal
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa_personal

Вышеупомянутый файл поможет вам параллельно с двумя учетными записями github. Также вы можете ссылаться Несколько ключей ssh ​​

Джеймс Фергюсон добавил этот важный бит информации:

... вам может понадобиться изменить ваш .git/config удаленный URL-адрес, чтобы указать на [email protected]/<reponame>.gitи т.д., а не обычный [email protected]/<reponame>.git

Ответ 3

Глухая система не позволяет мне прокомментировать другой ответ, потому что у меня недостаточно репутации, но Джон прокомментировал, что это не сработало для него.

Возможно, вам не хватает того, что вам нужно изменить ваш .git/config удаленный url, чтобы указать на [email protected]/<reponame>.git и т.д., а не на обычный [email protected]/<reponame>.git

Ответ 4

вы можете использовать один и тот же ключ ssh для разных репозиториев github, но не можете использовать один и тот же ключ ssh для многих репозиториев (т.е. тот же репозиторий из разных логинов или из forked), поскольку github не будет использовать один и тот же ключ развертывания более одного раза для хранилища

Вы можете создать другой ключ на своем компьютере, не нарушая существующие ключи, например: ssh-keygen -t rsa -C "[email protected]"
Теперь укажите имя вашего файла, чтобы определить ваш ключ для хранилища.

Enter file in which to save the key (/home/demo/.ssh/id_rsa):/home/demo/.ssh/id_rsa_mykey<br>

Подробнее см. https://developer.github.com/guides/managing-deploy-keys/#deploy-keys.