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-> и отредактируйте учетные данные там.

https://help.github.com/assets/images/help/setup/keychain-access.png

Смотрите " Обновление учетных данных из OSX Keychain "

Например, в Windows это будут менеджеры учетных данных Windows.
Откройте хранилище учетных данных Windows и посмотрите, зарегистрирован ли там первый пользователь: удалите эту запись, и вы сможете пройти аутентификацию со вторым пользователем.

(Вот пример для BitBucket)

https://kwilson.io/blog/wp-content/uploads/2015/01/4-store.png

Решил эту ошибку, обновив мое имя пользователя и учетные данные:

      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 .

Чтобы упростить и добавить в него, можно выполнить следующие простые шаги:

  1. Удалите все записи GitHub из диспетчера учетных данных (Windows)
  2. Установите useHttpPath = true в глобальной конфигурации Git.

git config --global credential.useHttpPath true

Вы можете подтвердить это, проверив

git config --global -e

Это создаст отдельную запись для каждой учетной записи пользователя.

  1. Несколько пользователей генерируют свой собственный ключ ssh, генерируют новый ключ SSH и добавляют его в ssh-agent

  2. Добавление нового SSH-ключа в вашу учетную запись GitHub

  3. Репозиторий Алисы, 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
  4. Репозиторий Боба, 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, вы можете

  1. перейти к KeyChain Access,
  2. Поиск "GitHub",
  3. затем, когда появится результат "github.com", измените учетную запись или пароль на новую и сохраните.

Тогда все готово!

У меня была похожая проблема, и я обнаружил, что вам нужно проверить две вещи:

  1. Проблема с цепочкой ключей, которая подробно обсуждалась выше;
  2. Git недавно перестал использовать пароли, вместо этого вам нужно сгенерировать личный токен доступа. ПРИМЕЧАНИЕ. ЭТО ВАЖНО, и источник проблемы, с которой я столкнулся, при создании токена обеспечил разрешение на токен на Github в опции разработчика.

Для Windows просто удалите учетную запись git из диспетчера учетных данных.

Важно: не забудьте правильно установить разрешения для токена.

У меня была такая же проблема, пока я не изменил разрешения, чтобы разрешить полный доступ к репо:

Такая же ситуация произошла и со мной на моем Mac. Я решил эту ситуацию, выполнив следующие действия.

  1. Войдите в свою первую учетную запись git Hub samrao1.

  2. Далее перейдите в настройки->Настройки разработчика->токены личного доступа->токены (классический) -> сгенерировать новый токен -> сгенерировать новый токен (классический).

  3. Укажите имя токена и сгенерируйте токен.

  4. скопируйте этот токен и сохраните его в блокноте.

  5. В приложении найдите доступ к связке ключей.

  6. В доступе к связке ключей найдите 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 из каталога проекта, а затем повторное нажатие на них с самого начала сработало для меня.

Другие вопросы по тегам