GitHub: неверное имя пользователя или пароль

У меня есть проект, размещенный на GitHub. Я терплю неудачу, пытаясь подтолкнуть мои модификации к мастеру. Я всегда получаю следующее сообщение об ошибке

Password for 'https://[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://[email protected]/eurydyce/MDANSE.git/'

Однако установка моего ssh-ключа в github выглядит нормально. Действительно, когда я делаю a ssh -T [email protected], я получаю

Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.

Что, кажется, указывает на то, что с этой стороны все в порядке (eurydyce является моим именем пользователя github). Я строго следовал инструкциям, приведенным в github, и рекомендациям многих обсуждений в стеке, но никак. Не могли бы вы представить, что я сделал неправильно?

Ответ 1

https://[email protected]/eurydyce/MDANSE.git не является URL-адресом ssh, это https one (для чего потребуется ваше имя учетной записи GitHub вместо 'git ').

Попробуйте использовать ssh://[email protected]:eurydyce/MDANSE.git или просто [email protected]:eurydyce/MDANSE.git

git remote set-url origin [email protected]:eurydyce/MDANSE.git

OP Pellegrini Eric добавляет:

Это то, что я сделал в моем ~/.gitconfig файле, который содержит в настоящее время следующие записи [remote "origin"] [email protected]:eurydyce/MDANSE.git

Это не должно быть в вашей глобальной конфигурации (в ~/).
Вы можете проверить git config -l в своем репо: этот url должен быть объявлен в локальной конфигурации: <yourrepo>/.git/config.

Итак, убедитесь, что вы находитесь в пути репо при выполнении команды git remote set-url.

Ответ 2

После включения двухфакторной аутентификации (2FA) вы можете увидеть что-то подобное при попытке использовать git clone, git fetch, git pull или git push:

$ git push origin master
Username for 'https://github.com': your_user_name
Password for 'https://[email protected]': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'

Почему это происходит

Из Документация справки GitHub:

После активации 2FA вам нужно будет ввести токен персонального доступа вместо кода 2FA и пароля GitHub.

...

Например, при доступе к репозиторию с помощью Git в командной строке с использованием команд, таких как git clone, git fetch, git pull или git push с URL-адресами HTTPS, вы должны указать свое имя пользователя GitHub и свой личный токен доступа, когда запрашивается имя пользователя и пароль. В командной строке не указывается, что вы должны ввести свой токен доступа, когда он запрашивает ваш пароль.

Как исправить его

Связанный вопрос: fooobar.com/questions/23811/...

Ответ 3

Шаги решения:

  1. Панель управления
  2. Диспетчер учетных данных
  3. Нажмите Учетные данные окна
  4. В разделе Generic Credential будут отображаться git url, обновляться имя пользователя и пароль.
  5. Перезапустите Git Bash и попробуйте клонировать

Ответ 4

Если, как и я, вы только что обновили свой пароль и запустили git push чтобы столкнуться с этой проблемой, то это очень легко исправить.

Только для пользователей Mac. Вам нужно удалить записи доступа к OSX Keychain для GitHub. Вы можете сделать это через терминал, выполнив следующие команды.

Удаление ваших учетных данных через командную строку

Через командную строку вы можете использовать учетную запись помощника напрямую, чтобы стереть запись цепочки для ключей.

Для этого введите следующую команду:

git credential-osxkeychain erase
host=github.com
protocol=https

# [Now Press Return]

Если это успешно, ничего не будет распечатано. Чтобы проверить, что это работает, попробуйте клонировать репозиторий из GitHub или повторите предыдущее действие, как в моем случае с git push. Если вам будет предложено ввести пароль, запись цепочки для ключей была удалена.

Ответ 5

При использовании URL https:// для подключения к удаленному репозиторию, Git не будет использовать SSH в качестве аутентификации, но вместо этого попробует выполнить базовую аутентификацию через HTTPS. Обычно вы просто используете URL-адрес без имени пользователя, например. https://github.com/username/repository.git, а Git предложит ввести как имя пользователя (ваше имя пользователя GitHub), так и ваш пароль.

Если вы используете https://[email protected]/username/repository.git, вы предварительно установили, что имя пользователя Git будет использоваться для аутентификации: something. Поскольку вы использовали https://[email protected], Git попытается войти в систему, используя имя пользователя git, для которого ваш пароль, конечно, не работает. Поэтому вам придется использовать свое имя пользователя.

Альтернативой является использование SSH для аутентификации. Таким образом, вы избегаете вводить свой пароль все время; и поскольку он уже работает, вот что вы должны использовать.

Для этого вам нужно изменить свой удаленный URL-адрес, поэтому Git знает, что ему нужно подключиться через SSH. Формат следующий: [email protected]:username/repository. Для обновления вашего URL используйте эту команду:

git remote set-url origin [email protected]:username/repository

Ответ 6

просто попробуйте отправить его снова в вашу ветку. Это запросит ваше имя пользователя и пароль еще раз, чтобы вы могли ввести измененный пароль. Так что ваш новый пароль будет снова сохранен в кеше.

Ответ 7

Вместо git pull также попробуйте git pull origin master

Я сменил пароль, и первая команда выдала ошибку:

$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...

После git pull origin master запросил пароль и, похоже, обновился сам

Ответ 8

Если вы получаете это сообщение об ошибке в этой ситуации:

  • используя GitHub для предпринимательства
  • используя credential.helper = wincred в git config
  • используя свои учетные данные Windows, которые вы недавно изменили

Тогда посмотрите на этот ответ: fooobar.com/questions/4883/...

Windows хранит учетные данные в диспетчере учетных данных, очищает их или обновляет.

Ответ 9

Отключение двухфакторной аутентификации на github работало для меня.

Я вижу, что есть удаленный ответ, который говорит это, с причиной удаления как "не отвечает на вопрос". Если это работает, то я думаю, что это отвечает на вопрос...

Ответ 10

Я получаю это при клонировании приложения из bitbucket:

Cloning into 'YourAppName'...
Password for 'https://youruser id': 
remote: Invalid username or password

Я решил это. Здесь вам нужно создать пароль для вашего ИД пользователя

  1. Нажмите на свой профиль и настройки    Click on Your profile and settings

  2. Затем создайте пароль приложения, выберите имя, сгенерированный пароль, вставьте этот пароль в терминал.    Create app password

Ответ 11

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

Ответ 12

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

Быстрое решение состоит в том, чтобы установить удаленный URL, чтобы он указывал на ssh не на https.

Сделайте это git remote set-url origin [email protected]:username/repository

Ответ 13

Я была такая же проблема. И я решил эту проблему, изменив путь к удаленной ветке с https://github.com/YourName/RepoName на [email protected]:YourName/RepoName.git в настройках репо клиентского приложения.

Ответ 14

Поскольку вы, вероятно, хотите оставить 2FA включенным для своей учетной записи, вы можете настроить ssh-ключ и таким образом вам не нужно будет вводить свои учетные данные Github каждый раз, когда вы хотите отправить работу на Github.

Вы можете найти все шаги настройки ssh в документации. Во-первых, убедитесь, что у вас нет ключей ssh (id_rsa.pub и т.д.) С $ ls -al ~/.ssh

Ответ 15

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

  1. открыть панель управления
  2. Перейти к диспетчеру учетных данных
  3. Нажмите Учетные данные окна
  4. В разделе Generic Credential будут отображаться git url, обновляться имя пользователя и пароль.
  5. Перезапустите Git Bash и попробуйте клонировать

Ответ 16

  1. Панель управления
  2. Диспетчер учетных данных
  3. Ищите параметры веб-учетных данных и учетных данных Windows
  4. в любом из них вы найдете учетные данные github и исправьте их с правильными учетными данными
  5. Откройте новый экземпляр git bash, и вы сможете выполнять команды git.

Это сработало для меня, я смог вытащить и подтолкнуть в моем удаленном репо.

Ответ 17

Я просто отключаю двухфакторную аутентификацию и пытаюсь снова. Меня устраивает.