13
votes

La connexion a échoué, utilisez ctrl + c pour annuler l'invite d'informations d'identification de base à Git dans Azure DevOps

Lors du clonage d'un référentiel git assis dans Azure Repos dans ma machine locale, le clonage réussit, mais j'obtiens une ligne qui dit:

git clone https://*************PAT*************@dev.azure.com/orgname/projectname/_git/reponame

Vous ne savez pas à quoi cela fait référence, des idées?

J'utilise le jeton PAT pour authentifier mon clone, la commande est:

Logon failed, use ctrl+c to cancel basic credential prompt 


2 commentaires

Installez Git Cred Man et réessayez


Lorsque vous dites jeton PAT, a-t-il été généré ici: https: // {orgName} .visualstudio.com / _usersSettings / tokens


7 Réponses :


2
votes

Il semble que dans ce cas, vous avez en fait deux ensembles d'informations d'identification qui sont en cours d'utilisation, et Git en a essayé un et a échoué, puis est retombé sur l'autre. Cette invite apparaît lorsque le gestionnaire d'informations d'identification est appelé sous Windows au cas où une invite s'affiche et que vous devez entrer des informations d'identification.

Lorsque vous mettez un PAT dans l'URL comme dans ce cas, vous devez mettre le PAT comme mot de passe. Cela signifie que vous devez spécifier un nom d'utilisateur, donc votre URL doit commencer par quelque chose comme https://username:password@dev.azure.com/ . Il n'est pas clair dans votre message si vous avez le username: partie, donc si vous n'êtes pas sûr d'en ajouter un (cela peut être n'importe quoi dans ce cas; le token et votre nom d'utilisateur sont communs).

Si vous n'avez pas d'URL de ce formulaire, votre PAT n'est pas utilisé et vous revenez probablement à tout ce qui se trouve dans votre gestionnaire d'informations d'identification, ce qui est correct. Sinon, il est possible que Git préfère quelque chose dans votre gestionnaire d'informations d'identification qui n'est pas correct et retombe vers quelque chose qui l'est. Dans tous les cas, vous devez inspecter les informations d'identification dans Windows Credential Manager et supprimer celles qui sont incorrectes.


0 commentaires

0
votes

Il suffit de créer les informations d'identification à partir d'azur. cliquez sur clone-> cliquez sur git credentials-> cela créera le nom d'utilisateur et le mot de passe. utilisez ce mot de passe dans le travail jenkins. Ça va marcher


0 commentaires

2
votes

Je pense que le problème est que vous n'avez pas autorisé votre travail d'agent à accéder au jeton Auth. Essayez de cocher cette option pour le travail d'agent: entrez la description de l'image ici


0 commentaires

2
votes

Git http.extraheader et porteur

La réponse de Manual m'a aidé à me mettre sur la bonne voie.

Les pipelines de style YAML peuvent utiliser la variable prédéfinie System.AccessToken . Après avoir examiné l'étape formelle `` Checkout ... '' au début du pipeline, j'ai trouvé que cette étape fonctionnait dans mon script:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: 'git -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" clone --depth 1 https://my-org@dev.azure.com/my-org/my-proj/_git/my-repo'

Notez que l'étendue des autorisations de travail Azure DevOps peut affecter cela


0 commentaires

0
votes

Notre société dispose de 2 domaines auxquels nous accédons à DevOps:

https: // vso [nom de l'entreprise] .visualstudio.com

et

https://dev.azure.com/vso[nom_entreprise]

Dans le fichier repos .gitsubmodule, j'ai changé l'URL de l'une à l'autre et la construction a commencé à fonctionner comme par magie.


0 commentaires

0
votes

Si vous utilisez des référentiels github, vous devrez peut-être vérifier que vous n'avez pas supprimé les droits d'Azure Pipelines dans vos paramètres d'applications github:

  • Dans les paramètres de votre profil github , Applications , Azure Pipelines , Configurez
  • Ensuite, dans Accès au référentiel , vérifiez que tous les référentiels avec des pipelines sont sélectionnés.

0 commentaires

1
votes

J'ai rencontré un problème similaire lors de l'utilisation de git repos sur ma machine locale qui sont clonés à partir d'un référentiel Azure DevOps.

Le clone initial fonctionne, je peux tirer / pousser sans problème jusqu'à ce que je doive me ré-authentifier avec azuread / adfs car la session expire finalement. Git invitera correctement avec la page de connexion azure, et je pourrai m'authentifier avec succès auprès de notre location, mais Git affichera une erreur avec l'invite d'informations d'identification de base et "La connexion a échoué, utilisez ctrl + c pour annuler l'invite d'informations d'identification de base".

Le seul moyen que j'ai trouvé pour contourner ce problème est de me connecter à Azure DevOps via le navigateur (où ma session aura également expiré), puis de refaire l'authentification avec git, ce qui lui permet en quelque sorte de fonctionner.


0 commentaires