Ошибка (internetKeychainItemForServer:withUsername: путь: порт: протокол:) - Указанный элемент не найден в цепочке для ключей
Я получаю следующую ошибку при попытке отправить свой код на github с помощью Sourcetree:
Pushing to http://github.myOrg.com/my-repo/my-proj.git
2014-09-23 13:05:20.500 git-credential-sourcetree[6744:507] Error (internetKeychainItemForServer:withUsername:path:port:protocol:) - The specified item could not be found in the keychain.
remote: Permission to ion-my-repo/my-proj.git denied to my-user-id.
fatal: unable to access 'http://github.myOrg.com/my-repo/my-proj.git/': The requested URL returned error: 403
Когда я нажимаю push, sourcetree спрашивает у меня пароль, связанный с моей учетной записью:
Password required
For user my-user-id on host github.myOrg.com
Похоже, что sourcetree знает, какой у меня идентификатор пользователя, и ему нужен пароль для доступа к моей учетной записи на github. Я могу получить содержимое с помощью sourcetree, и оно не запрашивает мои учетные данные. Я также смог сделать push для этого проекта, но недавно мой системный администратор сделал что-то на моем mac с помощью цепочек для ключей, и с тех пор я не могу что-то выдвинуть на github.
Кто-нибудь сталкивался с этой проблемой раньше?
2 ответа
У меня была точно такая же проблема. Кажется, что ssh
Агент почему-то потерял мои полномочия. Я понял это, когда попытался перечислить все мои ключи ssh, используя terminal
:
$ ssh-add -l
> The agent has no identities.
Итак, я побежал
$ ssh-add ~/.ssh/my_rsa_key
Я ввел пароль для моего ключа. И проблема ушла.
Итак, я не знаю точно, почему или как мой агент ssh внезапно потерял свои ключи, но если это та же проблема, что и у вас, вы можете решить, добавив ключ ssh обратно, используя ssh-add
команда.
Это может быть одна из тех проблем, которые имеют много разных причин и решений, я просто предлагаю решение для моего случая.
Я получаю ту же ошибку из-за "двухфакторной аутентификации". После того, как вы используете "двухфакторную аутентификацию", вам нужно создать личный токен доступа, и вы должны вводить его вместо пароля при выполнении операций Git через HTTPS. Создание персонального токена доступа для командной строки