Фатальная ошибка Git: ошибка аутентификации

105

Я пытаюсь использовать git, чтобы отправить свой репозиторий в проект групповых служб Visual Studio, но получаю сообщение об ошибке:

fatal: Authentication failed for (url of team project

Я использую cmds:

git remote add origin
     https://XXXXXXX.visualstudio.com/DefaultCollection/_git/project

git push -u origin -–all

Есть идеи, как это исправить?

Спасибо!

GurdeepS
источник
1
Как вы проходите аутентификацию? Токен персонального доступа? Альтернативные учетные данные для доступа?
Daniel Mann

Ответы:

206

Недавно у меня была такая же проблема (Visual Studio 2017 и Windows 10), и я решил ее, используя следующий метод:

Панель управления -> Диспетчер учетных данных -> Управление учетными данными Windows -> Выберите запись репозитория git и отредактируйте пользователя и пароль.

Готово.

Kxiaocai
источник
1
Я использовал этот метод, когда срок действия моего токена личного доступа истек. Перейдите в <<URL>> / _ usersSettings / tokens, чтобы создать новый, а затем установите его в качестве пароля в Credential Manager.
Even Mien
34

Если вы хотите использовать GIT CLI и не взаимодействовать со сборкой в ​​оболочках GIT в Visual Studio, вам необходимо включить альтернативные учетные данные для аутентификации.

Как?

Open your account (VS Online account) 
-> click on your name on the top right 
-> My Profile
-> Credentials.

и настроил.


введите описание изображения здесь

введите описание изображения здесь

CodeWizard
источник
4
Безопасность теперь отдельный пункт в меню. Если щелкнуть профиль, откроется совсем другая страница.
ЛуКОС
2
он может отличаться в зависимости от версии. вот почему я добавил скриншот
CodeWizard
1
Мне не приходилось этого делать. Кажется, что использование PAT для Git Bash работает нормально.
Джош Густ
1
Пожалуйста, используйте PAT вместо альтернативных учетных данных.
Эдвард Томсон
1
Включение альтернативных учетных данных не рекомендуется: учетные данные домена
Джулио Виан,
30

Я столкнулся с той же проблемой. Окно вывода ошибок выглядит так: ошибка аутентификации Изображение

Следуя инструкциям, проблема была решена:

  1. Перейдите в Панель управления -> Диспетчер учетных данных -> Учетные данные Windows.
  2. Под Generic Credential выберите запись git & update password.

    окно решения

  3. Пароль должен быть таким же, как пароль для входа в Windows (система).

Ануша М Шетти
источник
17

Лучший вариант сегодня - установить https://github.com/Microsoft/Git-Credential-Manager-for-Windows, который поддерживает VSO, GitHub и улучшается с каждым месяцем.

Джулио Виан
источник
2
@dotnetdev Примите этот ответ, потому что это рекомендуемый способ решения проблемы.
Дейлан
1
Это также доступно для Mac и Linux на github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux - отлично сработало для меня, не добавляя менее безопасные «альтернативные учетные данные».
Breeno
1
Это действительно «де-факто» решение, которое предоставила Microsoft. Другие решения, которые здесь действительно работают, следует рассматривать как твики.
Стефан
11

С VSTS URL-адрес: когда вы копируете URL-адрес git clone из vsts, вы всегда получаете

https: // orgname @ dev.azure.com / org / project / _git / repo

Замените orgname @ своим альтернативным именем пользователя, которое вы бы создали в VSTS -> profile -> Security.

конечный URL-адрес git -

https: // альтернативное имя пользователя @ dev.azure.com / org / project / _git / repo

Максимум
источник
8

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

Панель управления -> Диспетчер учетных данных -> Управление учетными данными Windows -> Выберите запись репозитория git и отредактируйте пользователя и пароль.

Затем я удалил все записи, связанные с git, в диспетчере учетных данных, а затем попытался использовать Git с помощью Visual Studio, на этот раз он запросил новые учетные данные

Разработчик веб-приложений
источник
5

Удалите .git / config и повторите попытку. Внимание, это также может сбросить некоторые настройки git!

Я много раз пробовал альтернативные учетные данные и токен личного доступа с правильными учетными данными, и он продолжал говорить мне «фатально: ошибка аутентификации».

Наконец, я обнаружил, что в корне моего репо находится файл с именем ".git / config". Я удалил этот файл и снова ввел свои учетные данные, все заработало.

Лунфэй Ву
источник
3

Я внезапно начал получать эту ошибку при попытке отправить изменения из VS2017 в репозиторий VSTS Git. Этот функционал заработал накануне.

Я проверил свой файл git.log и увидел другое исключение: -

19: 43: 57.116665 ... zureAuthority.cs: 184 трассировка: сервер [ValidateCredentials] возвратил: «Невозможно подключиться к удаленному серверу.

Я загрузил последний исходный код Git CredentialManager из репозитория Gits Credential Manager. и отладил его.

После аутентификации произошло следующее исключение: -

Невозможно установить соединение, поскольку целевая машина активно отказалась от него 127.0.0.1:8888

Затем я понял, что недавно настроил Fiddler, чтобы он действовал как прокси для всех служб, как указано в статье. Capturing-traffic-from-.net-services-with-fiddler.

Как только я запустил Fiddler, я смог успешно подключиться.

Г-н Слим
источник
3

Мое решение было немного другим и быстрее :)

  1. Перейдите в Учетные данные Windows (Пуск-> Учетные данные Windows) и удалите учетные данные для вашего репозитория (они начинаются с git: xxx)
  2. Зайдите в VSCode и в Терминале напишите:

    config credential.helper wincred

  3. Перейдите в Visual Studio (без VSCode) и сделайте git pull. Появится всплывающее окно с запросом учетных данных. Укажите свои учетные данные для репо

  4. Перейдите в VSCode и сделайте git pull. Учетные данные были автоматически получены из магазина wincred

Учетные данные автоматически создаются и сохраняются в wincredentials, поэтому в следующий раз у вас не будет запроса на ввод учетных данных. (также токен персонального доступа будет предоставлен с сайта visualstudio.com, если вы используете репозиторий git, размещенный на DevOps).

Антонио Буонайуто
источник
Пуск-> Учетные данные Windows работают как шарм! Спасибо!
Highriser
2

Для пользователей Linux, которые не могут использовать Microsoft Credential Manager. Это единственное решение, которое я нашел помимо использования ssh. Вам необходимо сгенерировать учетные данные в представлении репозитория (см. Изображения ниже) получить учетные данные git

И вот результат: получить результат учетных данных Git

Скопируйте пароль !. Azure DevOps не хранит его, и вы больше не сможете его увидеть!

NB: с 2020 года альтернативные учетные данные отключены. Проверьте блог Microsoft.

Мелхия
источник
1

Я перепробовал множество вариантов, но у меня сработал следующий:

  1. Загрузите Git Password Manager из раздела Releases.

  2. Попробуйте сделать простой, git fetchкоторый автоматически откроет окно (например, альтернативное окно по умолчанию) и попросит ввести имя пользователя и пароль, но более элегантным способом, чем стандартный.

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

PS Если вы получаете ошибку типа «Неверные учетные данные», всегда проверяйте правильность имени пользователя и пароля репозитория . Если вы сомневаетесь, просто сбросьте пароль и попробуйте использовать тот же пароль в окне диспетчера паролей Git.

Арсен Хачатурян
источник
1

У меня была эта проблема, и инструкции технического специалиста Microsoft исправили ее для меня:

  • Закройте все экземпляры Visual Studio.
  • Откройте диспетчер задач и проверьте, запущены ли какие-либо службы TFS. Выберите каждый из них и нажмите «Завершить дерево процессов».
  • Перейдите в папку ниже и удалите все содержимое и папки в% LocalAppData% \ Microsoft \ Team Foundation {версия} \ Cache
  • Перейдите в Панель управления -> Учетные записи пользователей -> Управление учетными данными -> Учетные данные Windows, выберите URL-адрес VSTS, чтобы удалить его.
  • Затем перейдите в «C: \ Users \ ИМЯ ПОЛЬЗОВАТЕЛЯ \ AppData \ Local \ GitCredentialManager \ tenant.cache» и удалите его.
  • Также перейдите в «C: \ Users \ ИМЯ ПОЛЬЗОВАТЕЛЯ \ AppData \ Local.IdentityService» и удалите его.
Кейси
источник
1

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

Авинаш Прабхакар
источник
0

Все, что мне было нужно, это правильные учетные данные. при развертывании в веб-приложении мне пришлось перейти в Центр развертывания, Учетные данные для развертывания. А затем используйте либо учетные данные приложения, либо создайте учетные данные пользователя. После этого удалите кэшированные учетные данные на локальном компьютере (Windows: Панель управления \ Учетные записи пользователей \ Диспетчер учетных данных). снова запустите "git push webapp master: master", введите любой из учетных данных для развертывания. Это сработало для меня.

Махеш
источник
0

В случае, если вы используете что-то еще, кроме Windows, и ваш начальник заставляет вас использовать azure DevOps, а вы не хотите использовать SSH и хотите использовать старый способ, сделайте следующее.

Вы должны включить «Альтернативные учетные данные» (я знаю, что это раздражает) или вам нужно создать токен доступа. Создание токена доступа в этом случае больше похоже на временный случайный пароль. Если вы используете инструменты Windows, это делается за вас.

В любом случае перейдите Securityв контекстное меню профиля в правом верхнем углу.

Настройки безопасности

Затем, если ваш босс / менеджер / чувак с правами администратора предпочитает вас, активируются «Альтернативные учетные данные». В противном случае примите свою судьбу и создайте «Личный токен доступа».

Настройки безопасности

Botenvouwer
источник
0

От 2 до 5 минут на установку!

  • Создайте свои SSH-ключи (~ / .ssh /)

ssh-keygen -C "jamal@fabrikam.com"

  • Добавьте открытый ключ в Azure DevOps Services / TFS
  • Клонировать репозиторий Git с помощью SSH

Источник

Jnermano
источник
0

После борьбы с аутентификацией git и сервером azure DevOps и попытки других ответов этот совет здесь сработал для меня.

Используете Visual Studio? Team Explorer выполняет аутентификацию с помощью Azure Repos за вас.

Как только я подключился к репо с помощью Team Explorer, я мог использовать командную строку для выполнения команд git.

Вахид Надери
источник