Устранение ошибки «Отказано в доступе (открытый ключ)» в Git

При работе с Git и GitHub вы можете столкнуться с сообщением об ошибке «Отказано в доступе (открытый ключ)» вместе с сообщением «Неустранимая ошибка: не удалось прочитать из удаленного репозитория». Эта ошибка обычно возникает, когда Git не может пройти аутентификацию с использованием вашего ключа SSH. В этой статье мы рассмотрим несколько способов устранения и решения этой проблемы. Мы предоставим примеры кода для каждого метода и проведем вас через шаги, которые помогут вернуть рабочий процесс Git в нужное русло.

Методы устранения ошибки «Отказано в разрешении (открытый ключ)»:

  1. Создайте новый ключ SSH:

    • Откройте терминал и введите следующую команду:
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    • Следуйте инструкциям, чтобы создать новую пару ключей SSH. Путь и имя файла по умолчанию (~/.ssh/id_rsa) подойдут, если у вас нет особых требований.
    • Добавьте новый ключ SSH в свою учетную запись GitHub, перейдя в настройки своей учетной записи, выбрав «Ключи SSH и GPG» и нажав «Новый ключ SSH». Скопируйте содержимое файла открытого ключа (~/.ssh/id_rsa.pub) и вставьте его в предоставленное поле.
  2. Проверьте агент SSH и добавьте ключ:

    • Запустите агент SSH, выполнив команду:
      eval "$(ssh-agent -s)"
    • Добавьте свой закрытый ключ SSH в агент:
      ssh-add ~/.ssh/id_rsa
  3. Проверьте SSH-соединение:

    • Проверьте подключение SSH к GitHub, выполнив команду:
      ssh -T git@github.com
    • Вы должны увидеть сообщение типа «Привет, имя пользователя! Вы успешно прошли аутентификацию…»
  4. Обновить удаленный URL-адрес Git:

    • Перейдите в локальный репозиторий Git и выполните следующую команду, чтобы обновить удаленный URL-адрес:
      git remote set-url origin git@github.com:username/repo.git
    • Замените «имя пользователя» на свое имя пользователя GitHub, а «репо» на имя вашего репозитория.
  5. Проверьте права доступа к хранилищу:

    • Убедитесь, что у вас есть необходимые разрешения для доступа к хранилищу. Если вы работаете над проектом, принадлежащим другому лицу, возможно, ему потребуется предоставить вам доступ.

Обнаружение ошибки «Отказано в разрешении (открытый ключ)» в Git может расстроить, но, следуя методам устранения неполадок, описанным в этой статье, вы сможете решить эту проблему. Не забудьте сгенерировать новый ключ SSH, проверить подключение SSH и при необходимости обновить удаленный URL-адрес Git. Выполнив эти действия, вы сможете восстановить доступ к своим удаленным репозиториям и продолжить беспрепятственную совместную работу.