Разрешение Github запрещено: агент ssh add не имеет идентификаторов
Это мой первый доступ к github, и я не уверен в использовании консоли. Я нахожусь в Macbook (используя Bash). Когда я пытаюсь получить доступ к github, я получаю следующее:
git clone [email protected]:dhulihan/league-of-legends-data-scraper.git
Cloning into 'league-of-legends-data-scraper'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Я пробовал следовать инструкциям на странице Github о Permission denied
Когда я использую ssh -vT git @github.com, я получаю следующее:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /Users/XXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXX/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Затем eval "$ (ssh-agent -s)" возвращает "Agent pid 2314"
Однако ssh-add -l возвращает "Агент не имеет идентификаторов".
И это, где я застрял. Я пробовал искать эту проблему и искать здесь на SO. Я попытался получить доступ к файлам в каталоге ssh, но их нет. Просто папка под названием Knownusers.
Может кто-нибудь помочь мне с этой проблемой?
Ответы
Ответ 1
Подробнее об этом в .
В заключение, когда ssh-add -l
возвращает The agent has no identities
, это означает, что ключи, используемые ssh
(хранятся в файлах, таких как ~/.ssh/id_rsa, ~/.ssh/id_dsa и т.д.) либо отсутствуют, они не известны агенту проверки подлинности (ssh-agent
), или их разрешения заданы неправильно (например, для записи в мире).
Если ваши ключи отсутствуют (т.е. вы не сгенерировали какие-либо ключи), используйте "ssh-keygen" (например, ssh-keygen -t rsa
) для их создания, затем используйте ssh-add
, чтобы добавить их.
Если ключи существуют, но не известны ssh-agent
(например, они могут находиться в нестандартной папке), используйте их 'ssh-add' (например, ssh-add /path/to/my-ssh-folder/id_rsa
).
См. этот ответ, если у вас возникли проблемы с ssh-add
или ssh-agent
.
Ответ 2
попробуйте следующее:
ssh-add ~/.ssh/id_rsa
работал у меня
Ответ 3
ОТВЕТ 2019 г. на macOS Сьерра и Хай Сьерра и Каталина
PS: большинство других ответов помогут вам создать новый ключ ssh... но вам не нужно этого делать :)
Как подробно описано на https://openradar.appspot.com/27348363, macOS/OS X до Yosemite использовался для запоминания ключей SSH, добавленных командой ssh-add -K <key>
Итак, вот 4 шага, которые я должен был сделать, чтобы он заработал:
1: ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (eg ~/.ssh/id_rsa)
2: Добавьте следующее в ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)
3: убедитесь, что удалили все записи gitconfig, использующие хелпер osxkeychain:
https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48
4: перезагрузите терминал, чтобы он вступил в силу.
Ответ 4
Я был замечен в то же время по той же проблеме, которую я в конечном итоге разрешил.
Моя проблема: я не мог выполнить какой-либо push. Я мог проверить и увидеть мой удаленный (используя git remote -v
), но когда я выполнил git push origin master
, он вернул: Permission denied (publickey). fatal: Could not read from remote repository.
и так.
Как я решил:
Тогда команда push в конечном итоге сработала!
Надеюсь, это поможет!
Удачи всем.
Ответ 5
Запустите следующие команды:
ssh-keygen -t rsa
ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa**
pbcopy < ~/.ssh/id_rsa.pub**
Перейдите в свою учетную запись Github: https://github.com/settings/profile
1) Нажмите: SSH и GPG ключи
2) Новый ключ SSH и прошёл его там
3) Добавить ключ SSH
Готово!
Ответ 6
прежде всего вам нужно войти в свой каталог ssh
для этого типа следующая команда в вашем терминале в маке или что вы используете в окне
cd ~/.ssh
теперь он находится в ssh
здесь вы можете найти все свои ключи/файлы ssh, связанные с вашими проектами. теперь введите следующую команду, чтобы показать вам, доступен ли любой ssh-ключ
ls
это покажет вам все доступные ssh, в моем случае их было два
теперь вам нужно будет запустить агента, чтобы добавить в него ssh. Для этого типа следующая команда
eval "$(ssh-agent -s)"
теперь последнее, но не менее важное: вы добавите ssh в этот тип агента следующую команду
ssh-add ~/.ssh/your-ssh
заменить
замените your-ssh на ваше имя файла ssh, у которого вы получили форму второго этапа ls command
Ответ 7
Это может вызвать для любого нового терминала, идентификатор агента отличается. Вам нужно добавить закрытый ключ для агента
$ ssh-add <path to your private key>
Ответ 8
Еще один элемент, который я понял, заключается в том, что обычно папка.ssh создается в вашей корневой папке в Mac OS X/Users/. Если вы попытаетесь использовать ssh -vT [email protected] из другой папки, это выдаст вам ошибку, даже если вы добавили правильный ключ.
Вам необходимо снова добавить ключ (ssh-add 'правильный путь к id_rsa') из текущей папки для успешной аутентификации (при условии, что вы уже загрузили ключ в свой профиль в Git)
Ответ 9
После долгих попыток я наконец смог решить эту проблему в Windows. Для меня переменная User env GIT_SSH была установлена так, чтобы указывать на
"C:\Program Files (x86)\WinScp\PuTTY\plink.exe"
который был установлен вместе с WinScp. Я изменил указание, чтобы использовать ssh.exe по умолчанию, который поставляется с git-scm "C:\Program Files\Git\usr\bin\ssh.exe"
Ответ 10
Шаги для BitBucket:
если вы не хотите создавать новый ключ, пропустите ssh-keygen
ssh-keygen -t rsa
Скопируйте открытый ключ в буфер обмена:
clip < ~/.ssh/id_rsa.pub
Войдите в Bit Bucket: перейдите в "Просмотр профиля" → "Настройки" → "SSH Keys" (на вкладке "Безопасность"). Нажмите "Добавить ключ", вставьте ключ в поле и добавьте описательный заголовок.
Вернитесь к Git Bash:
ssh-add -l
Вы должны получить:
2048 SHA256:5zabdekjjjaalajafjLIa3Gl/k832A /c/Users/username/.ssh/id_rsa (RSA)
Теперь: git pull
должен работать
Ответ 11
Это сработало для меня:
chmod 700.ssh chmod 600.ssh/id_rsa chmod 644.ssh/id_rsa.pub
Затем введите это: ssh-add ~/.ssh/id_rsa