Github удаленное разрешение запрещено
Я пытаюсь загрузить свой репозиторий на GitHub и пройти все шаги до:
git push -u origin master
в этот момент это дает мне следующую ошибку:
удаленный: разрешение для samrao2/manager-4.git отказано в samrao1.
Неустранимый: невозможно получить доступ к https://github.com/samrao2/manager-4.git/: запрошенный URL-адрес вернул ошибку: 403
Я думаю, проблема в том, что я вошел в другую учетную запись Git до "samrao1", и теперь я пытаюсь нажать на "samrao2".
Может ли кто-нибудь помочь мне сбросить это туда, где я могу успешно нажать на "samrao2". Я предполагаю, что мне будет предложено ввести мой пароль при первой попытке сделать это.
23 ответа
Невозможность доступа к https означает: это не имеет никакого отношения к SSH (и переключение на SSH, хотя и возможно, не объясняет исходную проблему)
Это связано с кэшированием учетных данных, что означает, что Git будет по умолчанию предоставлять учетные данные (учетную запись GitHub и пароль) старой учетной записи, пока вы пытаетесь перейти на новую учетную запись.
Посмотрите, есть ли у вас помощник по учетным данным, который бы кэшировал ваши (старая учетная запись) учетные данные (имя пользователя / пароль), используемые для аутентификации вас.
git config credential.helper
На Mac, как прокомментировал Arpit J., просто Arpit J. / откройте свой Arpit J. к Arpit J. > найдите файл, связанный с github.com-> и отредактируйте учетные данные там.
Смотрите " Обновление учетных данных из OSX Keychain "
Например, в Windows это будут менеджеры учетных данных Windows.
Откройте хранилище учетных данных Windows и посмотрите, зарегистрирован ли там первый пользователь: удалите эту запись, и вы сможете пройти аутентификацию со вторым пользователем.
(Вот пример для BitBucket)
Решил эту ошибку, обновив мое имя пользователя и учетные данные:
git config user.name "new name"
git config credential.username "new name"
Здесь 403 ( ошибка ) означает ошибку учетных данных или то, что у вас нет разрешения на отправку.
Решение
Для Windows
нажмите кнопку окна> диспетчер учетных данных> учетные данные Windows> общие учетные данные
Затем удалите или отредактируйте ключи Github.
Для Mac 🍎
1-В Finder найдите приложение Keychain Access.
2В Keychain Access найдите github.com.
3-Найдите запись «Интернет-пароль» для github.com.
4-Отредактируйте или удалите запись соответственно.
Я столкнулся с той же проблемой, которую я решил с помощью команды ниже
git config --global credential.useHttpPath true
Я не уверен, в чем проблема, но так как вы упомянули, что не знаете, что значит "установлены правильные ключи", я собираюсь предположить, что вы не настроили свой компьютер для аутентификации в вашем хранилище Github через SSH.
Это руководство должно показать вам, как это сделать: добавив новый SSH-ключ в вашу учетную запись Github
Кроме того, я бы предложил использовать "git://github.com/samrao2/manager-4.git/" для удаленного URL-адреса, а не " https://github.com/samrao2/manager-4.git/". Последний требует, чтобы вы вводили пароль каждый раз, тогда как первый будет проходить аутентификацию через SSH, что гораздо меньше раздражает. Вы можете изменить удаленный URL-адрес в своем хранилище, чтобы использовать протокол git вместо https, введя:
git remote set-url origin git://github.com/samrao2/manager-4.git
из каталога вашего проекта.
Оценивая ответ VonC .
Чтобы упростить и добавить в него, можно выполнить следующие простые шаги:
- Удалите все записи GitHub из диспетчера учетных данных (Windows)
- Установите useHttpPath = true в глобальной конфигурации Git.
git config --global credential.useHttpPath true
Вы можете подтвердить это, проверив
git config --global -e
Это создаст отдельную запись для каждой учетной записи пользователя.
Несколько пользователей генерируют свой собственный ключ ssh, генерируют новый ключ SSH и добавляют его в ssh-agent
Репозиторий Алисы, git bash:
git config user.name "Alice"
git config user.email "alice@email.com"
eval $(ssh-agent -s)
,ssh-add ~/.ssh/alice.private
ssh -T git@github.com
, Проверка вашего SSH-соединения- Другие операции Git
Репозиторий Боба, git bash:
git config user.name "Bob"
git config user.email "bob@email.com"
eval $(ssh-agent -s)
,ssh-add ~/.ssh/bob.private
ssh -T git@github.com
, Проверка вашего SSH-соединения- Другие операции Git
Если вы используете MacOS, вы можете
- перейти к KeyChain Access,
- Поиск "GitHub",
- затем, когда появится результат "github.com", измените учетную запись или пароль на новую и сохраните.
Тогда все готово!
У меня была похожая проблема, и я обнаружил, что вам нужно проверить две вещи:
- Проблема с цепочкой ключей, которая подробно обсуждалась выше;
- Git недавно перестал использовать пароли, вместо этого вам нужно сгенерировать личный токен доступа. ПРИМЕЧАНИЕ. ЭТО ВАЖНО, и источник проблемы, с которой я столкнулся, при создании токена обеспечил разрешение на токен на Github в опции разработчика.
Для Windows просто удалите учетную запись git из диспетчера учетных данных.
Важно: не забудьте правильно установить разрешения для токена.
У меня была такая же проблема, пока я не изменил разрешения, чтобы разрешить полный доступ к репо:
Такая же ситуация произошла и со мной на моем Mac. Я решил эту ситуацию, выполнив следующие действия.
Войдите в свою первую учетную запись git Hub samrao1.
Далее перейдите в настройки->Настройки разработчика->токены личного доступа->токены (классический) -> сгенерировать новый токен -> сгенерировать новый токен (классический).
Укажите имя токена и сгенерируйте токен.
скопируйте этот токен и сохраните его в блокноте.
В приложении найдите доступ к связке ключей.
В доступе к связке ключей найдите GitHub, щелкните GitHub, измените части пароля, используя сгенерированные токены, и сохраните его.
Повторите эти 6 шагов для второй учетной записи GitHub в режиме приватного окна в Safari. это будет работать. При нажатии запрашивается имя пользователя и пароль. Сначала укажите свое имя пользователя и в области пароля вставьте эти сгенерированные токены, относящиеся к соответствующим учетным записям.
Примечание. При создании токена личного доступа необходимо указать некоторые права доступа.
Проблема в том, что вы пытаетесь войти в новую учетную запись github, используя ssh-ключ старой учетной записи github, поэтому сгенерируйте новый SSH-ключ для новой учетной записи github, используя эту ссылку https://help.github.com/en/github/authenticating-to-github/error-permission-to-userrepo-denied-to-userother-repo, а затем добавьте его в свою учетную запись github. После этого попробуйте нажать, работает
Вы можете решить эту проблему, отозвав доступ второй учетной записи samrao1 из того конкретного репо, которое вы ранее подключили.
Для Linux > перейдите в /home и удалите файл .git-credentials. Теперь вам будет предложено ввести адрес электронной почты и пароль. Обратите внимание, что вместо пароля укажите свой токен доступа.
просто зайдите в Панель управления \ Учетные записи пользователей \ Диспетчер учетных данных \ Изменить общие учетные данные
и обновите свои учетные данные git
У меня есть одна личная учетная запись и одна бизнес-учетная запись на Github. Я фиксирую и отправляю изменения в обе учетные записи одновременно.
Что я сделал, так это 1) управлял личными и бизнес-проектами на отдельных сессиях; 2) установить URL-адрес для одной учетной записи со ссылкой SSH и оставить URL-адрес как обычно (HTTPS) для другой учетной записи.
если у вас все еще есть проблемы с тем же самым, удалите git и переустановите его снова. Это сработало для меня. Благодарность
ТОЛЬКО ЕСЛИ вы использовали git cli ДО этого на своей машине
Затем просто откройте диспетчер учетных данных в вашей системе, нажав кнопку «Пуск», введите «Диспетчер учетных данных» и перейдите на вкладку «Учетные данные Windows».
Удалите существующую сохраненную учетную запись, связанную с https://github.com , как показано ниже:
Теперь попробуйте снова ввести код, на этот раз появится запрос аутентификации, аутентифицируйте свою учетную запись github и поздравляем, ваш код размещен в данной ветке желаемого репозитория.
Если вы используете помощник по учетным данным git
Открой~/.git-credentials
файл и измените свойtoken
если он просрочен,
проверьте также свое имя пользователя GitHub, если оно правильное!
Проверьте свой личный токен доступа. Отредактируйте области действия в вашем токене. Я проверил все параметры доступа в токене. При этом ошибка не появлялась. https://docs.github.com/en/authentication/сохранение-вашей-аккаунта-и-данных-безопасности/создание-токена-личного-доступа
Я столкнулся с той же проблемой, а затем удалил учетные данные git из диспетчера учетных данных Windows.
Удаление папки .git из каталога проекта, а затем повторное нажатие на них с самого начала сработало для меня.