Я использовал пароль для входа в систему для ввода моего кода. Он работал несколько месяцев, но внезапно я не могу этого сделать и получаю такую ​​ошибку:

Username for 'https://github.com': shreyas-jadhav
Password for 'https://shreyas-jadhav@github.com':
remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.
remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information.

Обратите внимание, ссылка не помогает. Даже использование сгенерированного токена не помогает.

Примечание модератора: Это часть запланированного и предстоящего постоянного изменения сервиса GitHub

Shreyas Jadhav

Ответы (25)

Ранее принятый ответ, Кусал Шрестха, выполняет свою работу, но это небезопасно, потому что мы храним токен в виде обычного текста.

По моему честному мнению, лучше всего хранить его в связке ключей.

Для кода Visual Studio прочтите crg answer.

Для Windows:

Вы можете попробовать комментарий @Venryx ниже, но я его не тестировал.


Для Mac:

Я столкнулся с этой проблемой сейчас

Enter image description here

Как и было предложено, я перешел к настройкам разработки , перейдя по этому URL-адресу и сгенерировал токен.

Затем я перешел к моей цепочке ключей на моем Mac:

Enter image description here

Я удалил (всю) строку для GitHub

Enter image description here

Теперь я подошел к терминалу и набрал фиктивный код

git push

Терминал попросил меня ввести адрес электронной почты и пароль от моей учетной записи.

Я ввел свой адрес электронной почты, а в качестве пароля я ввел токен, который я сгенерировал ранее.

Enter image description here

И снова заработало.

Удалять пульт не нужно. Добавьте новый, а затем вытяните (как предлагается в принятом ответе).

Самым простым решением, которое сработало для меня (в Linux), было использование gh auto login и следование инструкциям интерфейса командной строки. Никаких дополнительных действий не потребовалось.

Если у вас нет gh, установите его по этой ссылке, в зависимости от вашей ОС.

  1. Создать новый токен из настроек разработчика GitHub

  2. Обновить удаленный URL:

    git remote set-url origin https://@github.com/
    
  3. Однократное вытягивание:

    git pull https: // <токен> @  .git
    

И все готово.

Парольная аутентификация отключена GitHub и больше не поддерживается. Создайте и используйте токен персонального доступа (PAT) вместо пароля.

Шаги:

  1. Удалить сохраненные учетные данные GitHub из связки ключей. (Например, с помощью «Связки ключей» на Mac или «Диспетчера учетных данных» в Windows)
  2. Создать токен доступа из GitHub НастройкиНастройки разработчикаПерсональные токены доступаСоздать новый токен
  3. Сохраните токен - там он будет доступен только один раз
  4. Выполнить команду git fetch (или git push, если для извлечения не требуются разрешения)

    Если в Windows, вы должны запустить это из PowerShell, а не из командной строки (CMD). Командная строка постоянно выходит из строя с сообщением удаленно: проверка пароля временно отключена, несмотря на идентичные входные данные.

  5. Он запросит ваше имя пользователя и пароль.

    Если он не запрашивает ваше имя пользователя и пароль, вы должны изменить свой удаленный URL-адрес Git, чтобы он содержал ваше имя пользователя: https://USERNAME@github.com/repo-owner/repo-name.git (см. Подход 2 для получения инструкций по изменению удаленный URL)

  6. Используйте токен доступа вместо пароля, когда он запрашивает пароль (вам придется ввести его дважды)

Или второй подход:

  1. Создать токен доступа из GitHub: НастройкиНастройки разработчикаПерсональные токены доступаСоздать новый токен
  2. Обновить URL-адрес для источника локально: git remote set-url origin https: // @ .git
  3. Потяните один раз: git pull https: // @ .git

Работает на macOS, Windows и Linux

Решение 1

  1. Удалить существующий репозиторий (, если у вас есть текущие изменения, сделайте резервную копию):

    мв my-repo my-repo.backup
    
  2. Создайте ключ SSH и добавьте его в GitHub (см. документацию GitHub)

  3. Клонировать репозиторий для SSH: git clone git@github.com: group / repo-name.git

Решение 2 (рекомендуемое решение)

  1. git удаленное удаление источника

  2. Вы должны добавить токен доступа (см. документацию GitHub, чтобы сгенерировать токен)

  3. git удаленное добавление источника https: // @ .git

  4. git pull https: // @ .git

Использование Код Visual Studio

  1. Удалите доступ к GitHub:
git credential-osxkeychain erase
⏎  host=github.com
⏎  protocol=https
  1. git push или git pull

    Появится модальный диалог. Щелкните Разрешить и следуйте инструкциям.

Если вы используете HTTPS

  • Создайте токен в настройках вашего токена, как указано в документации

  • Если репозиторий уже существует, вы должны затем изменить свой удаленный URL в формате: https://:@github.com/

    git удаленное удаление источника
    git удаленное добавление источника https: // <ИМЯ ПОЛЬЗОВАТЕЛЯ>: <ТОКЕН> @  .git
    git pull # Проверить
    
  • Если вы клонируете свой репозиторий

    git clone https: // <ИМЯ ПОЛЬЗОВАТЕЛЯ>: <ТОКЕН> @  .git
    

Попробуйте это (у меня сработало):

  1. Создайте ключ SSH с помощью этого руководства: Создание нового ключа SSH
  2. Удалите все старые пульты, использующие HTTPS, с помощью git remote remove origin;
  3. Добавьте новый пульт, используя ссылку SSH (вы можете получить его с помощью кнопки «код» в вашем репозитории, а затем нажмите «ssh»).

enter image description here

GitHub удаляет аутентификацию имени пользователя и пароля

Альтернативный подход к тому, что упоминали другие:

Можно установить и настроить GitHub CLI. Намного лучше настроить, используя OAuth. Нет необходимости вручную удалять учетные данные из связки ключей.

На macOS с Homebrew (brew) установка еще проще:

Запустите brew install gh и выполните следующие действия:

  1. В какую учетную запись вы хотите войти? GitHub.com, выберите GitHub
  2. Какой протокол вы предпочитаете для операций Git? Выберите HTTPS
  3. Аутентифицировать Git с вашими учетными данными GitHub? Выберите ДА
  4. Как вы хотите аутентифицировать GitHub CLI? Выберите Войти через веб-браузер
  5. Скопируйте код, указанный в терминале -> B7C1-8E67
  6. Нажмите Введите, чтобы открыть github.com в вашем браузере
  7. Авторизоваться с помощью браузера

Готово.

Начните использовать команды Git, как обычно.

Вот простое решение:

  • Перейдите на GitHub → НастройкиНастройки разработчикаПерсональные токены доступа. Восстановите свой токен и скопируйте его.
  • В любом из ваших локальных репозиториев, когда git push, введите свое имя пользователя, а пароль - это сгенерированный токен

Вместо того, чтобы вручную вводить ваш токен для каждой операции HTTPS Git, вы можете кэшировать свой токен с помощью клиента Git.

  • В терминале введите следующее:
# Set Git to use the credential memory cache
git config --global credential.helper cache
  • Чтобы изменить таймаут кеширования паролей по умолчанию, введите следующее:
# Set the cache to timeout after 1 hour (setting is in seconds)
git config --global credential.helper 'cache --timeout=3600'

Все, что вам нужно сделать, это использовать сгенерированный токен вместо традиционного пароля:

Старый метод с использованием пароля:

git clone https://github.com/username/repo.git

Имя пользователя: your_username
Пароль: your_password

Новый метод с использованием токена :

git clone https://github.com/username/repo.git

Имя пользователя: your_username
Пароль: your_token

Шаг 1: Создание токена API из GitHub

Шаг 2: Замена вашего предыдущего кэшированного пароля новым сгенерированным токеном

  • Как здесь было сказано, вам необходимо изменить локальные учетные данные для входа в GitHub, кэшированные на вашем компьютере: Удалить учетные данные из Git

Решение для macOS

Я просто выполнил следующие инструкции и решил мою проблему.

  1. Создать личный токен доступа для GitHub.Процесс создания токена
  2. Откройте свой Доступ к Связке ключей.
  3. Найдите github.com и дважды щелкните по нему.
  4. Обновите пароль с помощью ключа, который вы создали недавно.

Примечание: я не уверен, что это сработает для других пользователей операционной системы.

  1. Создать личный токен доступа

  2. На вашем коде Visual Studio в командной строке:

    git config --global credential.helper [YOUR_TOKEN]
    

Я столкнулся с этой проблемой сегодня днем ​​и решил ее, заменив свой пароль GitHub на моем компьютере, как описано в ссылке 3, на сгенерированный токен из ссылки 2.

  • Ссылка 1: См. Требования к аутентификации токена для операций API и Git. Пароль больше не поддерживается.

  • Ссылка 2: Таким образом, вы должны сгенерировать токен с помощью этого руководства и использовать его для замены вашего пароля в качестве учетных данных.

  • Ссылка 3: Если вам не предлагается ввести имя пользователя и пароль, ваши учетные данные могут быть кэшированы на вашем компьютере. Вы можете обновить свои учетные данные в Связке ключей, чтобы заменить старый пароль на токен, как описано в этом руководстве.

Существует также очень удобный скрипт, который помогает преобразовать клонированные HTTPS-репозитории Git для использования протокола ssh без удаления и клонирования репозитория Git:

Преобразование клонов HTTPS GitHub для использования SSH

Я получил эту ошибку при попытке подтолкнуть вверх в Visual Studio Code ... Но я открыл Терминал и без проблем поднял, используя имя пользователя и пароль.

Это может быть что-то, что вы могли бы попробовать.

Если вы используете macOS

  1. Сначала удалите все учетные данные GitHub в связке ключей, а затем сгенерируйте свой токен для использования в качестве пароля (из-за политики безопасности GitHub): GitHub * → НастройкиРазработчик настройкиПерсональный токен доступа.

  2. Попробуйте загрузить или вытащить что-нибудь в / из вашего репозитория. Затем Git запросит у вас имя пользователя и пароль. Введите свое имя пользователя и сгенерированный токен из GitHub.

Если вы не хотите хранить свой токен в виде обычного текста (путем изменения URL-адреса удаленного репо), вы можете сделать это:

  1. Сгенерировать новый токен по официальной ссылке
  2. Убедитесь, что вы скопировали токен, нажав следующую кнопку. Если вы дважды щелкните текст и скопируете его, он добавит дополнительное пространство, и вы продолжите получать ту же ошибку (даже если вы больше не используете свой пароль, а токен)

enter image description here

Если вы используете версию HTTPS вместо SSH, эта ошибка возникнет из-за того, что GitHub удаляет метод HTTPS для поддержки репозиториев.

  1. Сгенерируйте SSH-ключ, если вы этого не сделали, с помощью ssh-keygen и продолжайте нажимать Введите до конца
  2. cat ~ / .ssh / id_rsa.pub - скопировать результат
  3. Визит https://github.com/settings/keys
  4. Нажмите New SSH Key и вставьте ключ в текстовое поле. Название может быть любым
  5. cd <в каталог вашего проекта>
  6. git remote set-url origin git@github.com: <имя-пользователя-здесь> / <имя-репозитория-здесь> .git

И все готово!

Следующие шаги отлично сработали для меня

Действия, которые необходимо выполнить:

  • Создать токен доступа из GitHub, НастройкиНастройки разработчикаПерсональные токены доступаСоздать новый токен

  • Сохраните токен - там он будет доступен только один раз

  • Найдите файл .git-credential в системе

  • Используйте токен доступа вместо пароля в этом файле после имени пользователя.

Я перепробовал все методы, и, наконец, у меня они сработали. Мне не удалось загрузить свой репозиторий из-за этой ошибки, поэтому, пожалуйста, попробуйте это хотя бы раз!

_____________________________ сгенерировать токен персонального доступа:

  1. Щелкните здесь и создайте токен личного доступа. Это чертовски просто.

    https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

    Теперь просто нажмите на него с помощью PAT, а не с помощью пароля и имени пользователя___________________

  2. Чтобы отправить изменения в ваш репозиторий:

    git push https: // [токен личного доступа] @ github.com / [имя пользователя] / [имя репозитория] .git
    

Это сработало для меня:

  1. Сгенерируйте токен персонального доступа (не забудьте скопировать токен)

  2. Откройте свой Keychain Access (Mac) или Credential Manager (Windows).

  3. Обновите пароль GitHub с помощью нового токена личного доступа в KeyChain Access/Диспетчер учетных данных

  4. Последний шаг: выполните клонирование Git (убедитесь, что вы клонируете репозиторий в правильном месте каталога)

    git clone https://github.com/username/repo.git
    
    Имя пользователя: your_username
    Пароль: your_token
    

В моем случае он не запрашивал у меня имя пользователя и пароль, так как он уже был обновлен в Keychain Access.

Вы можете сгенерировать свой PAT (персональный токен доступа) через панель инструментов GitHub.

  • Шаг 1. Войдите в свою учетную запись GitHub.

  • Шаг 2. В правом верхнем углу любой страницы щелкните фотографию своего профиля, затем щелкните «Настройки».

  • Шаг 3. На левой боковой панели щелкните Настройки разработчика.

  • Шаг 4: На левой боковой панели щелкните Персональные токены доступа.

  • Шаг 5: Щелкните Создать новый токен.

  • Шаг 6. Дайте вашему токену описательное имя.

  • Шаг 7: Выберите области или разрешения. Вы хотите предоставить этот жетон. Чтобы использовать ваш токен для доступа к репозиториям из командной строки, выберите репо.

  • Шаг 8: Нажмите Создать токен.

Скопируйте свой токен в безопасное место, так как как только вы выйдете с этой страницы, вы не сможете получить его, если не создадите новый.

Решение для Ubuntu Server и существующего репозитория Git

Удалить пароль:

git config --global --unset user.password;
git config --local --unset user.password;

Изменить remote.origin.url. замените своим именем пользователя GitHub:

git config --global --replace-all remote.origin.url "https://@github.com/PPEProjects/smile-eyes-be.git";
git config --local --replace-all remote.origin.url "https://@github.com/PPEProjects/smile-eyes-be.git"

тянуть / толкать

git pull
git push origin HEAD:develop

Введите персональные токены доступа, сгенерированные из Персональные токены доступа.

Быстрое исправление

Перейдите к Персональные токены доступа и повторно сгенерируйте последний токен:

Enter image description here

Сначала из сообщения: Требования к аутентификации токена для операций API и Git, там написано

Середина 2021 г. - Для всех операций Git с аутентификацией потребуется персональный доступ или токены OAuth.

Итак, вам нужно использовать токен персонального доступа (PAT) для отправки:

1 Получите личный токен доступа

Войдите в систему, чтобы получить доступ к репозиторию и добавить новый токен личного доступа: Токены личного доступа. Сгенерируйте один и сохраните токен (его нельзя будет показать, когда вы уйдете).

Android Studioвам необходимо получить разрешение «repo», «gist» и «read: org»)

2 Push с токеном персонального доступа

После того, как вы получите токен, вы можете нажать с помощью такой команды, как:

git push https://[personal access token]@github.com/[user name]/[repository Name].git

2022 WebDevInsider