Разрешение 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