1

Я сгенерировал пару открытый / закрытый ключ, используя GnuPG (следуя инструкциям Github), и получаю следующую ошибку при попытке отправить мой коммит во вновь созданный репозиторий:

git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Ранее я настроил SSH-ключ для удаленного сервера с помощью команды ssh keygen, и, возможно, это противоречит моему git, хотя в документации по github мне было указано указать ключ OpenPGP в конфигурации. Пара ключей SSH находится в папке ~/.ssh под именами id_rsa и id_rsa.pub .

Есть идеи, что может пойти не так?

1 ответ1

2

GnuPG и SSH служат разным целям в среде git:

  • SSH используется для защиты соединения, зашифровывая его, а также обеспечивая аутентификацию (таким образом, предоставляя доступ к хранилищу).
  • GnuPG, с другой стороны, позволяет подписывать коммиты и теги / релизы. Это позволяет другим удостовериться, что коммит действительно был выдан вами, а не кем-то другим.

Другими словами: если вы не зарегистрировали свой открытый SSH-ключ в Github или удалили его там, у вас нет доступа к хранилищу. Добавьте содержимое файла ~/.ssh/id_rsa.pub на Github, чтобы восстановить доступ через git.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .