Я сделал следующее:
$ ... create new file ...
$ git add *
$ git commit -m "first-file"
$ git push origin main
...
The key you are authenticating with has been marked as read only.
fatal: could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists
Почему я получаю эту ошибку и как решить проблему?
Добавленный вами ключ SSH — это ключ развертывания, который связан с репозиторием и может быть доступен только для чтения или чтения и записи. Обычно большинство ключей SSH связаны с пользователем и получают доступ к репозиториям на основе разрешений этого пользователя (возможно, с ограничениями, связанными с единым входом).
Однако ключи развертывания специально предназначены для связи с одним репозиторием, и это хороший способ разрешить автоматическим службам работать с репозиториями, не беспокоясь о том, что произойдет, когда пользователь потеряет доступ.
В вашем случае ключ развертывания, который вы используете, помечен как доступный только для чтения, поэтому его нельзя использовать для нажатия. Если вы предполагали, что эта учетная запись будет связана с вашей учетной записью, а не с репозиторием, зайдите в настройки репозитория и удалите ее, а затем перейдите в настройки своей учетной записи и добавьте ее туда. Если вы намеревались сделать его ключом развертывания, перейдите в настройки репозитория, удалите ключ и снова добавьте его, установив флажок «Разрешить доступ для записи».
Обратите внимание, что один ключ может быть только одним из ключей только для чтения для одного репозитория, ключа для чтения и записи для одного репо или пользовательского ключа. Поскольку GitHub идентифицирует доступ на основе ключа, вы не можете использовать один и тот же ключ SSH для нескольких целей.
Отвечает ли это на ваш вопрос? Github выполняет аутентификацию, но не разрешает отправку кода