При работе с Git и GitHub вы можете столкнуться с сообщением об ошибке «Отказано в доступе (открытый ключ)» вместе с сообщением «Неустранимая ошибка: не удалось прочитать из удаленного репозитория». Эта ошибка обычно возникает, когда Git не может пройти аутентификацию с использованием вашего ключа SSH. В этой статье мы рассмотрим несколько способов устранения и решения этой проблемы. Мы предоставим примеры кода для каждого метода и проведем вас через шаги, которые помогут вернуть рабочий процесс Git в нужное русло.
Методы устранения ошибки «Отказано в разрешении (открытый ключ)»:
-
Создайте новый ключ 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) и вставьте его в предоставленное поле.
- Откройте терминал и введите следующую команду:
-
Проверьте агент SSH и добавьте ключ:
- Запустите агент SSH, выполнив команду:
eval "$(ssh-agent -s)" - Добавьте свой закрытый ключ SSH в агент:
ssh-add ~/.ssh/id_rsa
- Запустите агент SSH, выполнив команду:
-
Проверьте SSH-соединение:
- Проверьте подключение SSH к GitHub, выполнив команду:
ssh -T git@github.com - Вы должны увидеть сообщение типа «Привет, имя пользователя! Вы успешно прошли аутентификацию…»
- Проверьте подключение SSH к GitHub, выполнив команду:
-
Обновить удаленный URL-адрес Git:
- Перейдите в локальный репозиторий Git и выполните следующую команду, чтобы обновить удаленный URL-адрес:
git remote set-url origin git@github.com:username/repo.git - Замените «имя пользователя» на свое имя пользователя GitHub, а «репо» на имя вашего репозитория.
- Перейдите в локальный репозиторий Git и выполните следующую команду, чтобы обновить удаленный URL-адрес:
-
Проверьте права доступа к хранилищу:
- Убедитесь, что у вас есть необходимые разрешения для доступа к хранилищу. Если вы работаете над проектом, принадлежащим другому лицу, возможно, ему потребуется предоставить вам доступ.
Обнаружение ошибки «Отказано в разрешении (открытый ключ)» в Git может расстроить, но, следуя методам устранения неполадок, описанным в этой статье, вы сможете решить эту проблему. Не забудьте сгенерировать новый ключ SSH, проверить подключение SSH и при необходимости обновить удаленный URL-адрес Git. Выполнив эти действия, вы сможете восстановить доступ к своим удаленным репозиториям и продолжить беспрепятственную совместную работу.