/
Вопросы и ответы
/
Git
/

Git push по HTTPS на GitHub требует пароль, но аутентификация не проходит

Git push по HTTPS на GitHub требует пароль, но аутентификация не проходит

При выполнении команды:

1
git push -u origin main

Git просит ввести логин и пароль GitHub. Я ввожу правильный пароль, но получаю ошибку:

1
2
3
remote: Support for password authentication was removed on August 13, 2021.
remote: Please use a personal access token instead.
fatal: Authentication failed for 'https://github.com/hiff0/vlad-git.git/'

Почему пароль не работает и как правильно выполнить пуш?

год назад

Nikolai Gagarinov

Ответы

0

Заголовок

Git push по HTTPS на GitHub требует пароль, но аутентификация не проходит

Вопрос

При выполнении команды:

1
git push -u origin main

Git просит ввести логин и пароль GitHub. Я ввожу правильный пароль, но получаю ошибку:

1
2
3
remote: Support for password authentication was removed on August 13, 2021.
remote: Please use a personal access token instead.
fatal: Authentication failed for 'https://github.com/hiff0/vlad-git.git/'

Почему пароль не работает и как правильно выполнить пуш?

Ответ

GitHub больше не поддерживает аутентификацию по обычному паролю для операций Git через HTTPS. Вместо пароля нужно использовать personal access token (PAT).

  1. Создать токен на GitHub

    • Перейдите в Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token
    • Выберите нужные права (например, repo) и сгенерируйте токен
    • Скопируйте токен — после создания его нельзя будет снова посмотреть
  2. Использовать токен вместо пароля при пуше

    1
    2
    git push -u origin main
    # При запросе пароля вставляете токен вместо вашего обычного пароля
  3. Альтернатива: работать через SSH Если настроить SSH-ключи, вводить пароль или токен при каждом пуше не потребуется. Инструкции: Установка и настройка SSH

Использование токена или SSH решает проблему с аутентификацией при пуше по HTTPS.

год назад

Nikolai Gagarinov

0

С августа 2021 года GitHub не принимает пароль от аккаунта при работе с Git по HTTPS. Для HTTPS нужен персональный токен доступа (personal access token) или подключение по SSH.

Вариант 1. Токен вместо пароля

  1. На GitHub: аватар → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token.
  2. Выберите срок действия, нужные репозитории и права: для push достаточно Contents: Read and write.
  3. Скопируйте токен — GitHub покажет его один раз.
  4. Выполните git push снова и при запросе пароля вставьте токен.

Чтобы не вводить токен каждый раз, сохраните его в хранилище учётных данных:

1
2
git config --global credential.helper manager   # Windows (Git Credential Manager)
git config --global credential.helper osxkeychain # macOS

Если Git не спрашивает пароль, а сразу пишет ошибку, в системе сохранён старый пароль. Удалите его: на Windows — Диспетчер учётных данных → запись git:https://github.com, на macOS — Связка ключей → запись github.com.

Вариант 2. Вход через браузер

Git Credential Manager, который ставится вместе с Git для Windows, при первом push открывает окно входа в GitHub через браузер. Токен создаётся сам. То же делает GitHub CLI:

1
gh auth login

Вариант 3. SSH-ключ

1
2
ssh-keygen -t ed25519 -C "you@example.com"
cat ~/.ssh/id_ed25519.pub

Скопируйте открытый ключ в GitHub: Settings → SSH and GPG keys → New SSH key. Затем переключите репозиторий на SSH-адрес:

1
2
3
git remote set-url origin git@github.com:имя/репозиторий.git
ssh -T git@github.com   # проверка: Hi имя! You've successfully authenticated
git push -u origin main

Так пароль и токен больше не понадобятся.

Работу с Git и GitHub разбирают в бесплатном курсе «Основы Git».

9 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845