Git-аутентификация не удалась только для TFS 2018 - PullRequest
0 голосов
/ 09 октября 2018

Я недавно собрал сервер TFS 2018 и настроил его как git.В течение нескольких месяцев все работало нормально, пока на прошлой неделе я не увидел следующую ошибку:

C:\temp\git>git clone https://tfs.mycompany.com/project/team/_git/framework
Cloning into 'framework'...
fatal: Authentication failed for 'https://tfs.mycompany.com/project/team/_git/framework/'

После почти недели поиска неисправностей я не приблизился к выяснению основной причины проблемы.,Все, что я пробовал, приводит к одной и той же ошибке.Все решения, которые я нашел в сети и в SO, не работали, т.е. удаление папки git, удаление git, переустановка git, удаление файла .cache, что угодно ... без разницы.

Сегодня я обнаружил, что могуиспользуйте клиент git для windows с нашим старым экземпляром TFS 2015 и github без каких-либо ошибок, так что, похоже, это проблема только TFS 2018.Я искал и искал любые параметры безопасности, которые могли бы измениться, но не могу найти ничего связанного с безопасностью, которое я мог бы изменить, которое могло бы повлиять на это в этой усадьбе.Я также проверил сертификат сервера, и он, кажется, действителен в течение еще одного года, поэтому я не думаю, что это так.

Я также обнаружил, что Visual Studio 2015 может клонировать и синхронизироваться с сервером TFS 2018 - без проверки подлинностиошибки.Ясно, что у него есть собственный встроенный клиент git, на который не влияют проблемы с аутентификацией клиента git для Windows.Visual Studio 2017 выдает ту же ошибку, что и git для Windows-клиента, поэтому я предполагаю, что он использует этот клиент под капотом, в отличие от vs2015.

В настоящее время я использую самый последний git для Windows-клиентаи это единственный установленный клиент (кроме vs2015) - удалены все другие клиенты git, то есть TortoiseGit.Также обратите внимание, что я удалил все кредиты Windows для сервера TFS 2018 и никогда не запрашивал имя пользователя или пароль, как это предлагалось в статьях Microsoft.У меня также не запрашиваются кредиты для сервера TFS 2015, но у диспетчера учетных данных есть действительные учетные данные для этого сервера.

Кто-нибудь знает, что здесь может быть не так?В настоящее время наш сервер совершенно бесполезен, поскольку никто не может синхронизировать изменения.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Изменена аутентификация сервера TFS на NTLM, и клон GIT работал как положено.Я полагаю, что обновление 3 изменяет его на аутентификацию Kerberos, либо не спрашивая, либо, может быть, я замял это.Ниже приведена команда, чтобы изменить его обратно.

C:\Program Files\Microsoft Team Foundation Server 2018\Tools>TFSConfig Authentication /provider:NTLM /siteType:ApplicationTier
0 голосов
/ 09 октября 2018

Во-первых, проверьте ваш помощник по учетным данным : возможно, он кэшировал неверные учетные данные:

git config credential.helper

Во-вторых, проверьте всю свою конфигурацию:

git config -l --show-origin

Найдителюбая директива вместо этого, которая может изменить URL-адрес https на SSH.

...