Запуск push или любого другого действия с GitHub из командной строки (через https, а не ssh), который вызывает имя пользователя и пароль, не только не выполняется, но, когда это происходит, он возвращает
Username for 'https://github.com': username
Password for 'https://username@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'
У меня нет @github.com
адреса Пароль и имя пользователя верны.
Я знаю, что могу переключиться на SSH и использовать ключи, но это не дает ответа на вопрос, почему аутентификация не работает по https.
Ответы:
Служба поддержки GitHub сразу определила корень проблемы: двухфакторную авторизацию.
Чтобы использовать GitHub через оболочку с https, создайте токен OAuth . Как отмечается на странице, мне пришлось удалить свои учетные данные для имени пользователя и пароля из Связки ключей, но при наличии
osx-keychain
токен хранится в качестве пароля, и все работает точно так же, как и по https, без двухфакторной авторизации.источник
Необязательно:
@
это разделитель между именем пользователя: паролем и доменом.Это не адрес электронной почты.
Полный https-адрес GitHub будет выглядеть так:
Без пароля (который затем будет запрошен в командной строке) это даст:
Но опять же,
username@github.com
это не адрес электронной почты, а только первая часть учетных данных.Убедитесь, что ваш регистр
username
иreponame
правильный: он чувствителен к регистру .Обратите внимание, что вы можете хранить и зашифровать свои учетные данные в
.netrc.gpg
(или_netrc.gpg
в Windows), если вы не хотите, чтобы эти учетные данные были ясно указаны в URL-адресе.См. « Есть ли способ пропустить ввод пароля при использовании
https://github
».источник
https://username@github.com/username/reponame.git
.! * ' ( ) ; : @ & = + $ , / ? # [ ]
)? Они должны быть "закодированы в процентах" ( en.wikipedia.org/wiki/Percent-encoding ).Теперь нажмите Добавить общие учетные данные и укажите следующие значения.
(1) Интернет или сетевой адрес: git: https: //tfs.donamain имя (2) имя пользователя: ваше имя пользователя (3) пароль: ваш пароль
это должно исправить это
источник
Это может произойти в Windows, если вы ранее сохранили другие учетные данные. Перейдите в диспетчер учетных данных и удалите сохраненные учетные данные github
источник
[Только Mac]
Если вам нужно удалить вашу аутентификацию, используйте
на Mac.
См. Https://help.github.com/articles/updating-credentials-from-the-osx-keychain/
источник
То же самое произошло и со мной, когда я включил двухстороннюю аутентификацию для github. Что я сделал, чтобы решить:
Это решит вашу проблему.
источник
Просто на случай, если это поможет кому-то еще, я был подписан в приложение Mac, командная строка работает нормально, но поскольку я затем включил 2FA, мои команды возвращали ошибку. Мне пришлось выйти из приложения, тогда я мог бы использовать свой токен личного доступа в своих командах в соответствии с ответом ele здесь .
Надеюсь, это кому-то поможет!
источник
В Windows вы можете быть заблокированы антивирусом или брандмауэром Windows. Временно отключите эти службы и отправьте / извлеките из удаленного источника.
источник