Ошибка 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.