У меня есть проект, размещенный на GitHub. Я терплю неудачу при попытке выдвинуть мои модификации на мастера. Я всегда получаю следующее сообщение об ошибке
Password for 'https://git@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://git@github.com/eurydyce/MDANSE.git/'
Тем не менее, установка моего ключа SSH на GitHub кажется правильным. Действительно, когда я делаю, ssh -T git@github.com
я получаю
Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.
Кажется, это говорит о том, что с этой стороны все в порядке (eurydyce - мое имя пользователя на github). Я строго следовал инструкциям, данным на github, и рекомендациям многих стековых дискуссий, но никак не мог. Не могли бы вы понять, что я мог сделать неправильно?
Ответы:
https: //git@github.com/eurydyce/MDANSE.git - это не ssh-URL, а https-адрес (для которого требуется имя вашей учетной записи GitHub вместо '
git
').Попробуйте использовать
ssh://git@github.com:eurydyce/MDANSE.git
или простоgit@github.com:eurydyce/MDANSE.git
OP Пеллегрини Эрик добавляет:
Это не должно быть в вашем глобальном конфиге (тот, что в
~/
).Вы можете проверить
git config -l
в вашем репо: что URL должен быть объявлен в локальной конфигурации:<yourrepo>/.git/config
.Поэтому убедитесь, что вы находитесь в пути репо при выполнении
git remote set-url
команды.Как было отмечено в Оливером «s ответ , HTTPS URL не будет использовать имя пользователя / пароль , если два-фактор аутентификации (2fa) активируется.
В этом случае пароль должен быть PAT (токен личного доступа), как показано в разделе « Использование токена в командной строке ».
Это применимо только для HTTPS URL, это ограничение не затрагивает SSH.
источник
~/.ssh/config
или%USERPROFILE%\.ssh\config
файл сgithub.com
записью в нем.После включения Два фактора аутентификации (2fa), вы можете увидеть что - то вроде этого при попытке использования
git clone
,git fetch
,git pull
илиgit push
:Почему это происходит
Из справочной документации GitHub :
Как это исправить
Похожий вопрос: https://stackoverflow.com/a/21374369/101662
источник
Шаги решения:
источник
Только для пользователей Mac. Вам нужно удалить записи доступа к OSX Keychain для GitHub. Вы можете сделать это через терминал, выполнив следующие команды.
Удаление ваших учетных данных через командную строку
Через командную строку вы можете использовать учетную запись помощника напрямую, чтобы стереть запись цепочки для ключей.
Для этого введите следующую команду:
Если это успешно, ничего не будет распечатано. Чтобы проверить, что это работает, попробуйте клонировать репозиторий из GitHub или повторите предыдущее действие, как в моем случае
git push
. Если вам будет предложено ввести пароль, запись цепочки для ключей была удалена.источник
host=bitbucket.org
вместо GitHub исправил это для меня.При использовании
https://
URL-адреса для подключения к вашему удаленному репозиторию Git не будет использовать SSH в качестве аутентификации, а вместо этого попытается выполнить базовую аутентификацию через HTTPS. Обычно вы просто используете URL без имени пользователя, напримерhttps://github.com/username/repository.git
, и тогда Git предложит вам ввести и имя пользователя (ваше имя пользователя GitHub), и ваш пароль.Если вы используете
https://something@github.com/username/repository.git
, то вы должны предварительно настроить имя пользователя Git будет использовать для проверки подлинности:something
. Поскольку вы использовалиhttps://git@github.com
, Git попытается войти в систему, используяgit
имя пользователя, для которого ваш пароль, конечно, не работает. Таким образом, вам придется использовать свое имя пользователя вместо.Альтернативой является использование SSH для аутентификации. Таким образом, вы не будете вводить пароль постоянно; и так как это, кажется, уже работает, это то, что вы должны использовать.
Для этого вам необходимо изменить удаленный URL, поэтому Git знает, что ему нужно подключиться через SSH. Формат то это:
git@github.com:username/repository
. Чтобы обновить ваш URL, используйте эту команду:источник
warning: remote.origin.url has multiple values
. Это может быть связано с тем, что у меня уже есть удаленный тег в моем файле ~ / .gitconfig, который содержит значение[remote "origin"] url=git@github.com:eurydyce/MDANSE.git
.просто попробуйте перенести его в свою ветку снова. Это запросит ваше имя пользователя и пароль еще раз, чтобы вы могли ввести измененный пароль. Так что ваш новый пароль будет снова сохранен в кеше.
источник
git push
запросил соответствующее обновление, как показывает этот ответ.git push origin master
...А не
git pull
попробуйgit pull origin master
Я сменил пароль, и первая команда выдала ошибку:
После
git pull origin master
этого он попросил пароль и, казалось, обновить себяисточник
Нет необходимости полагаться на создание персонального токена доступа, а затем пытаться использовать личный токен вместо своего пароля.
Быстрое решение состоит в том, чтобы установить удаленный URL-адрес, чтобы указать
ssh
нетhttps
.Сделай это
git remote set-url origin git@github.com:username/repository
источник
Я получаю это при клонировании приложения из bitbucket:
Я решил это. Здесь вам нужно создать пароль для вашего ID пользователя
Нажмите на Ваш профиль и настройки
Затем создайте пароль приложения, выберите свое имя, пароль будет сгенерирован, вставьте этот пароль в терминал.
источник
Отключение двухфакторной аутентификации на github работало для меня.
Я вижу, что есть удаленный ответ, который говорит это, с причиной удаления как "не отвечает на вопрос". Если это работает, то я думаю, что это отвечает на вопрос ...
источник
Я сделал:
Затем он запросил [Имя пользователя] и [Пароль] и, похоже, теперь работает нормально.
источник
Если вы получаете это сообщение об ошибке в этой ситуации:
Тогда посмотрите на этот ответ: https://stackoverflow.com/a/39608906/521257
Windows хранит учетные данные в диспетчере учетных данных, очищает их или обновляет.
источник
Возможно, вы получаете эту ошибку, потому что вы обновили свой пароль. Поэтому сначала в терминале убедитесь, что вы удалили свои учетные данные GitHub из цепочки для ключей, а затем отправили изменения в репозиторий, терминал запросит ваше имя пользователя и пароль.
источник
Я была такая же проблема. И я решил это, изменив путь
https://github.com/YourName/RepoName
к удаленной ветке с наgit@github.com:YourName/RepoName.git
в настройках репозитория клиентского приложения.источник
Я постоянно сталкиваюсь с этой проблемой. Убедитесь, что вы установили git --config user.name "", а не свое настоящее имя, что я делал несколько раз ...
источник
Поскольку вы, вероятно, хотите оставить 2FA включенным для своей учетной записи, вы можете настроить ssh-ключ и таким образом вам не нужно будет вводить свои учетные данные Github каждый раз, когда вы хотите отправить работу на Github.
Вы можете найти все шаги настройки ssh в документации . Во-первых, убедитесь, что у вас нет ключей ssh (id_rsa.pub и т. Д.) С
$ ls -al ~/.ssh
источник
Это сработало для меня, я смог вытащить и подтолкнуть в моем удаленном репо.
источник
Я просто отключаю двухфакторную аутентификацию и пытаюсь снова. Меня устраивает.
источник
Это решение сработало для меня:
источник