Не удалось аутентифицировать TFS из команды git

Я использую TFS для управления версиями, и когда я использую командную строку git с новой машины, мне нужно вручную сохранить диспетчер учетных данных. В противном случае я получаю "Ошибка аутентификации"

Есть ли альтернатива предварительному определению учетных данных в диспетчере учетных данных?

Текущий кейс из CentOS 7:

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


person abdulrhman alhazmi    schedule 17.11.2019    source источник


Ответы (1)


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

Однако для macOS и Linux вместо диспетчера учетных данных,

Мы рекомендуем использовать ключи SSH для аутентификации в Azure DevOps, а не диспетчер учетных данных.

Аутентификация с открытым ключом SSH работает с парой сгенерированных ключей шифрования. Открытый ключ является общим и используется для шифрования сообщений. Закрытый ключ хранится в вашей системе в безопасности и используется для чтения сообщений, зашифрованных с помощью открытого ключа.

Дополнительные сведения см. в нашем официальном руководстве -- Использовать проверку подлинности с помощью ключа SSH


Обновить

Кроме того, вы также можете использовать токен PAT для доступа к репозиториям git.

Для аутентификации с помощью PAT при использовании Git вы можете использовать его в качестве пароля. Имя пользователя может быть любым, так как ваша личность идентифицируется с помощью PAT. Например:

  • Имя пользователя: любое
  • Пароль:

Or:

git clone https://anything:<PAT>@dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName

Подробнее см. по этой ссылке.

Что касается того, как использовать PAT, вы можете обратиться к этому -- Аутентификация доступа с помощью токенов личного доступа

Примечание. Это доступно только в версии TFS2017 и выше. Кроме того, рекомендуется отключить базовую аутентификацию IIS при использовании Azure DevOps Server. Когда базовая проверка подлинности IIS включена на вашем компьютере с Windows, вы не можете использовать маркеры личного доступа (PAT) в качестве механизма проверки подлинности.

person PatrickLu-MSFT    schedule 18.11.2019
comment
Я использовал ssh в качестве обходного пути, который был выпущен, когда он был поднят. Однако, когда служба триггера TFS перехватывает изменение кода, она срабатывает с обратным вызовом (https), а не с ssh. - person abdulrhman alhazmi; 24.11.2019
comment
Мой сценарий заключается в том, что я определил свой репозиторий в конвейере Jenkins для клонирования с использованием ssh. 2- когда код передается в TFS, в TFS есть служебные перехватчики, которые уведомляют Jenkins о том, что код sying отправлен, используйте этот URL-адрес для клонирования, но URL-адрес https, а не ssh. поэтому jenkins не может этого сделать, потому что учетные данные не определены для https. Я не хочу углубляться в модификацию TFS для использования обратного вызова ssh вместо https. - person abdulrhman alhazmi; 24.11.2019
comment
@abdulrhmanalhazmi Если это так, в вашем сценарии вы можете использовать токен PAT для доступа к вашему репозиторию git и выполнить клонирование. Подробная информация и образец командной строки, вы можете сослаться на мой обновленный ответ. Просто ограничение, для этого требуется, чтобы ваша версия TFS была 2017 или более поздней версии. Также необходимо отключить базовую аутентификацию IIS на сервере TFS. - person PatrickLu-MSFT; 26.11.2019