Вопрос или проблема
Я хочу отправить коммиты на GitHub. URL репозитория: https://github.com/ManuelaCarriero/NeuPipelines.
Я использовал:
git commit -m "my commit" file
затем:
git push -u origin main
Я получил ошибку:
Username for 'https://github.com': ManuelaCarriero
Password for 'https://[email protected]':
remote: Поддержка аутентификации по паролю была удалена 13 августа 2021 года.
remote: Пожалуйста, смотрите https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls для информации о текущих рекомендованных режимах аутентификации.
fatal: Аутентификация не удалась для 'https://github.com/ManuelaCarriero/NeuPipelines/'.
Я прочитал ответы на StackOverflow и использовал
git push
Я ввел свое имя пользователя, затем использовал токен в качестве пароля, сгенерированный на https://github.com/settings/tokens. Таким образом, я больше не получаю это сообщение, однако я получаю ошибку 403.
manuela@wkrm01:/media/nas_rete/Work_manuela/NeuPipelines$ git push
Username for 'https://github.com': ManuelaCarriero
Password for 'https://[email protected]':
remote: Permission to ManuelaCarriero/NeuPipelines.git denied to ManuelaCarriero.
fatal: unable to access 'https://github.com/ManuelaCarriero/NeuPipelines/': The requested URL returned error: 403
В обсуждении на GitHub предлагают изменить “общие учетные данные” в панели управления в Windows.
Это, похоже, не работает в моем случае, потому что я использую MobaXterm для удаленных вычислений. Знаете ли вы, как я могу решить эту проблему в данном случае?
У меня была точно такая же проблема 403 сегодня, когда я пытался выполнить обучающее руководство по git.
Да, в настоящее время вам нужно сгенерировать личный токен доступа, который, как вы говорите, вы уже сгенерировали.
(Для интереса полезные инструкции о том, как это сделать, находятся здесь: добавить PAT (Personal Access Token), но если кратко:
Из вашего аккаунта на GitHub, перейдите в Settings → Developer Settings → Personal Access Token → Tokens (classic) → Generate New Token (Введите ваш пароль) → Заполните форму → нажмите Generate token → Скопируйте сгенерированный токен, он будет выглядеть как ghp_sFhFsSHhTzMDreGRLjmks4Tzuzgthdvfsrta
Затем в вашем аккаунте на GitHub выберите ваш токен и убедитесь, что у вас есть все необходимые чекбоксы для разрешений. При генерации нового токена все эти булевые настройки по умолчанию включены.
Нажмите кнопку Update Token, когда закончите, затем повторно выполните команду ‘git push’, и тогда она должна сработать.
.
Ответ или решение
Ошибка 403 в GitHub указывает на проблему с авторизацией или правами доступа. В вашем случае, вы уже используете Personal Access Token (PAT) в качестве пароля вместо устаревшей аутентификации по паролю. Однако, ошибка 403 все еще может возникать из-за нескольких причин, которые мы рассмотрим и предложим возможные решения:
Понимание и анализ проблемы
-
Убедитесь в правильности токена:
- Проверьте, что вы используете актуальный и корректный Personal Access Token. Токен должен включать все необходимые разрешения для доступа к репозиторию.
-
Права доступа к репозиторию:
- Убедитесь, что у вас есть корректные права для выполнения команды
git push
. Если репозиторий принадлежит организации, проверьте, действительно ли ваш аккаунт имеет право на запись или администрирование в этом проекте.
- Убедитесь, что у вас есть корректные права для выполнения команды
-
Репозиторий на GitHub:
- Проверьте настройки репозитория и убедитесь, что вы не заблокированы или не ограничены в доступе к этому проекту.
Детальные шаги для решения проблемы
Шаг 1: Перепроверьте Personal Access Token
- Создайте или проверьте существующий токен:
- Перейдите в GitHub в раздел Settings -> Developer Settings -> Personal Access Tokens -> Tokens (classic).
- Если необходимо, создайте новый токен, обязательно отметив все необходимые права доступа (права на
repo
иworkflow
важны, если вы управляете репозиторием).
Шаг 2: Проверьте права доступа
- Убедитесь, что вы находитесь в команде с соответствующими разрешениями.
- Если репозиторий является частью команды или организации, проверьте, есть ли у вас достаточные права. Возможно, потребуется связаться с администратором репозитория.
Шаг 3: Проверка локальных настроек Git
- Проверьте настройки в
~/.gitconfig
:- Убедитесь, что в конфигурации Git на вашей машине нет ошибок. Это можно сделать, выполнив команду
git config --list
.
- Убедитесь, что в конфигурации Git на вашей машине нет ошибок. Это можно сделать, выполнив команду
Шаг 4: Очистка кэша учетных данных
- Очистите хранилище учетных данных:
- Если вы используете кэширование учетных данных, например, в Credential Manager (Windows) или в MobaXterm, убедитесь, что они не кэшируют старые неверные данные. Очистите кэш и введите новые данные заново.
Шаг 5: Попробуйте выполнить git push
через SSH
- Смена метода аутентификации на SSH:
- Склонитесь к использованию SSH для выполнения операций в GitHub, что позволит избежать ввода пароля непосредственно. Настройте SSH-ключи и добавьте свой публичный ключ на страницу SSH-ключей в GitHub.
Заключение
Ошибка 403 может быть вызвана множеством факторов, связанных как с неверными данными аутентификации, так и с проблемами уровня доступа. Следуя вышеописанным шагам, вы сможете устранить основную причину этой ошибки. Убедитесь, что все ваши настройки актуальны и соответствуют требованиям, предъявляемым вашим текущим рабочим процессом в GitHub. Проявив внимание к каждой из этих деталей, вы сможете быстро решить вопрос и продолжить свою работу над проектом.