Поиск места использования ключа
Чтобы определить, где ранее был использован ключ, откройте терминал и введите команду ssh
. С помощью флага -i
укажите путь к ключу, который требуется проверить:
$ ssh -T -ai ~/.ssh/id_rsa git@github.com
# Connect to GitHub.com using a specific ssh key
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
Имя пользователя в ответе — это учетная запись GitHub.com, к которому в настоящее время подключен ключ. Если ответ имеет форму "имя_пользователя/репозиторий", значит ключ был присоединен к репозиторию в качестве ключа развертывания.
Чтобы принудительно использовать SSH для использования только ключа, указанного в командной строке, добавьте параметр IdentitiesOnly=yes
с помощью -o
:
ssh -v -o "IdentitiesOnly=yes" -i ~/.ssh/id_rsa git@github.com
Устранение проблемы
Чтобы устранить эту проблему, сначала удалите ключ из других учетной записи или репозитория, а затем добавьте его в свою учетную запись.
Если у вас нет разрешений на передачу ключа и возможности связаться с пользователем, у которого они есть, удалите пару ключей и создайте новую.
Ключи развертывания
Ключ, присоединенный к репозиторию в качестве ключа развертывания, нельзя использовать в другом репозитории. Если при настройке ключ развертывания возникает эта ошибка, см. раздел "Управление ключами развертывания".