web-dev-qa-db-fra.com

Git: l'authentification par clé publique a échoué

Lorsque je veux utiliser git avec des devops Azure (vsts), je ne peux pas utiliser git clone, pull, Push etc. J'obtiens l'erreur:

remote: remote: Votre commande Git n'a pas réussi. à distance: Détails: à distance: l'authentification par clé publique a échoué. remote: fatal: impossible de lire à partir du référentiel distant.

Mais lorsque j'utilise la commande ci-dessous, cela fonctionne, donc le problème n'est pas la clé. ssh-agent sh -c 'ssh-add ~/.ssh/key; git Push repo'

Quand je fais un clone git, push, pull etc, je pensais que cela passe par votre répertoire .ssh pour vérifier automatiquement quelle clé utiliser. Quelqu'un a une idée de comment résoudre ce problème?

6
bramvdk

Corrigé en créant ~/.ssh/config et ajouté:

Host xxx.visualstudio.com
  IdentityFile ~/.ssh/key

Assurez-vous de faire chmod 0400 ~/.ssh/config

10
bramvdk

J'ai ajouté dans le ~/.ssh/config:

Host ssh.dev.Azure.com
  IdentityFile ~/.ssh/[you private key file]
4
Lolorol

Mon cas était plus délicat. VisualStudio.com a banni mon ancienne clé ssh et n'a pas pris la peine de m'en informer. Expérimentalement, j'ai compris que j'avais juste besoin d'ajouter une nouvelle clé et d'utiliser it à la place.

ssh-keygen -f ~/.ssh/new_key

Dans ~/.ssh/config:

Host vs-ssh.visualstudio.com
  IdentityFile ~/.ssh/new_key

Ça a marché. Ensuite, ce qui est amusant, c'est qu'ils ne vous permettent pas de supprimer l'ancienne clé interdite de SSH Keys page.

2
Yuriy Pozniak