Je ne peux pas cloner un référentiel simple à partir d'Azure DevOps OS: Ubuntu 18.10
Je fais ça:
git clone https://myorganization.visualstudio.com/myproject/_git/myrepo/
Je continue à recevoir ce message de Git: fatal: Authentication failed for 'https://myorganization.visualstudio.com/myproject/_git/myrepo/'
Je lisais les solutions d'autres personnes mais aucune ne fonctionnait pour moi ... J'ai aussi essayé ceci:
Autorisation: Base64Encoded de base (uname: PAT)
Autorisation: porteur PAT
Une idée pourquoi cela ne fonctionne pas?
J'ai eu du succès en utilisant PAT comme ceci;
git clone https://<domain>.visualstudio.com/<domain>/_git/<domain>
git clone https://<PAT>@<domain>.visualstudio.com/<domain>/_git/<domain>
Le nom d'utilisateur et le mot de passe devraient être requis, car le PAT devrait suffire.
Essayez: Commencez par supprimer les informations d'identification git de Credential Manager . Essayez de générer un nouveau jeton d'accès personnel pour résoudre cette erreur.
Allez dans sécurité -> Jeton d'accès personnel-> Ajouter Donnez une description, sélectionnez Toutes les étendues, cliquez sur Créer un jeton.
Copiez le jeton et stockez-le pour une utilisation ultérieure. Ce jeton peut maintenant être utilisé à la place du mot de passe pour l'utilisateur git.
Vous devez encoder votre jeton en base64 et l'ajouter comme en-tête d'autorisation HTTP. Cela peut être fait avec OpenSSL:
PAT="enter-your-pat-here"
REPO_URL="https://[email protected]/myorg/myproject/_git/myrepo"
AUTH=$(echo -n ":$PAT" | openssl base64 | tr -d '\n')
git -c http.$REPO_URL.extraHeader="Authorization: Basic $AUTH" clone $REPO_URL
echo -n "..." | ... | tr -d '\n'
est une astuce Linux habituelle pour envoyer une chaîne en entrée à une commande nécessitant normalement une entrée de la part de l'utilisateur (essayez d'écrire simplement openssl base64
et vous verrez).
Notez le ":" dans echo -n ":$PAT"
. Ceci est dû au fait que "l'utilisateur" manque dans le format normal de "utilisateur: jeton".
Pour éviter de ressaisir l'option de configuration avec chaque commande git, vous pouvez ajouter l'en-tête d'autorisation à votre configuration git locale ou globale:
git config --global http.$REPO_URL.extraHeader "Authorization: Basic $AUTH"
Affichez vos modifications avec:
git config --global --edit
Il s'agit d'une régression connue dans curl 7.61.0, livrée avec Ubuntu 18.10. La régression a été corrigée dans curl 7.61.1, mais Ubuntu 18.10 n'a pas encore ce correctif. Voir (et plus de votes positifs) https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1805203