web-dev-qa-db-fra.com

Erreur Git: "Assurez-vous de disposer des droits d'accès corrects et que le référentiel existe"

J'utilise TortoiseGit sous Windows. Lorsque j'essaie de cloner dans le menu contextuel de l'explorateur Windows standard, j'obtiens cette erreur:

Assurez-vous d'avoir les droits d'accès appropriés et que le référentiel existe

Plus précisément, l’instantané de terminal est le suivant:

clone git.exe --progress -v "git @ arobotdev:\git\AlfaRobot.git" "C:\Work\AlfaRobot"

Clonage dans 'C:\Work\AlfaRobot' ...
Autorisation refusée, veuillez réessayer.
Autorisation refusée, veuillez réessayer.
Autorisation refusée (publickey, mot de passe).
fatal: Impossible de lire à partir du référentiel distant.

Assurez-vous d'avoir les droits d'accès corrects
et le référentiel existe.

git n'est pas sorti proprement (code de sortie 128) (21450 ms @ 19.09.2014 10:36:58)

Que dois-je faire pour que git fonctionne correctement?

42
Alex

Votre URL Git a peut-être changé. Modifier l'URL du répertoire local à l'aide de la commande suivante

git remote set-url Origin git@XXXXXXXXXXXX
46
Vishnu

Ce problème est peut-être lié à votre agent ssh, votre clé ssh n'a pas été ajoutée à ssh-agent.Vous devez appliquer les étapes suivantes à l'aide de votre terminal: -

  1. $ eval "$ (ssh-agent -s)"

    Agent pid 5867

  2. $ ssh-add

    Entrez la phrase secrète de /home/you/.ssh/id_rsa: [] Identité ajoutée: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)

alors ça marchera .. Cheers J.

34
Onkar_M18

Pour moi, c'était à cause de l'absence de clé SSH sur la machine. Vérifiez la clé SSH localement:

$ cat ~/.ssh/id_rsa.pub

Ceci est votre clé SSH. Ajoutez-le à vos clés SSH dans le référentiel.
Dans gitlab, allez à 

paramètres de profil -> clés SSH 

et ajouter la clé

21
Jacek Góraj

Essayez d’utiliser HTTPS à la place de SSH en prenant une URL proche de GIT, cela fonctionne pour moi ..__ puis en prenant de cette URL, par gitbase ou tout autre client git .  enter image description here

12

Le fichier rsa.pub (c'est-à-dire la clé publique générée) doit être ajouté à la page github >> paramètres >> clés ssh. Vérifiez que vous n'avez pas ajouté cette clé publique dans les clés de déploiement du référentiel-paramètres >>. Si tel est le cas, supprimez l’entrée d’ici et ajoutez à la première place mentionnée.

Configuration des clés publiques privées dans detail .

Cela fonctionnera par là!

5
parasrish

Essayez https au lieu de ssh. Choisissez l'option https de la page d'accueil du projet où vous copiez l'URL de clone.

2
Vedha Peri

ajoutez ces lignes à votre fichier .get/config (grâce à @kovshenin answer Git Pull: Change Authentication ):

[credential]
    helper = wincred
2
Shqear

Voici comment je résous ce problème. J'utilisais Babun (Mintty.exe) sur Win7/10. Lorsque j'ai essayé plusieurs solutions mentionnées ci-dessus et qu'aucune d'entre elles ne fonctionne. J'ai réalisé que j'avais peut-être simplement utilisé le mauvais agent ssh… Donc, je lance echo $GIT_SSH pour le découvrir. Il indique le chemin d'accès à Plink.exe. Ce que j'attendais en réalité est OpenSSH.

Donc, j'ajoute one-liner à la suite du fichier ~/.zshrc

Note 1: Vous pouvez aussi l'exécuter directement dans babun
Note 2: Si vous utilisez bash, le fichier de configuration est .bashrc 

export GIT_SSH=$(which ssh)

Et il fonctionne!

2
Paris Qian Sen

Un autre problème pourrait être votre connexion Internet. C'est peut-être évident, mais cela m'a pris quelques minutes pour comprendre que mon wifi était en panne :)

0
BoltzmannBrain

Cela peut également se produire si vous vous connectez à votre référentiel git via un VPN. Assurez-vous que vous êtes connecté au VPN utilisé pour accéder aux ressources de votre organisation.

0
John Doe

Étrangement, je n'ai reçu cette erreur que dans l'un de mes nombreux repos.

Mon problème était après l’installation du nouveau GitHub Desktop pour Windows où l’ancien ancien GitHub pour Win conservait les clés dans ~/.ssh/github_rsa et ~/.ssh/github_rsa.pub alors que le nouveau GitHub pour Win l’attendait dans ~/.ssh/id_rsa, la solution ne faisait que renommer les clés privées et publiques existantes:

~/.ssh/github_rsa -> ~/.ssh/id_rsa
~/.ssh/github_rsa.pub -> ~/.ssh/id_rsa.pub

Après quoi, permettez-moi de consulter à nouveau le repo sans problème.

0
mythz

J'utilise Ubuntu

après avoir lu beaucoup de réponses, aucune d’entre elles ne peut résoudre le problème, même si j’avais déjà ajouté la clé SSH à mon compte git, et essayez de le tester avec ssh -T [email protected] et le message Welcome <my username> a été ajouté, mais le message a été conservé. moi je n'ai pas de droits d'accès. Alors j'ai trouvé la raison est:

Normalement, si vous n'êtes pas rootname__, vous devrez exécuter Sudopour chaque commande git.

lors de l'exécution de Sudo git clone <SSH....> (par exemple). il sera exécuté avec l'autorisation rootname__, mais accidentellement, lorsque je crée une clé SSH, je l'exécute en tant qu'utilisateur normal et j'enregistre la clé dans ~/.ssh/id_rsa. Il résout alors le chemin absolu /home/username/.ssh/id_rsa. Et lorsque vous faites Sudo git clone ..., il recherche la clé SSH dans /root/.ssh/id_rsa

Pourquoi je peux en être sûr? Pour voir où git cherche votre clé SSH. Exécutez cette commande: Sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>. Il vous montrera où il cherche votre clé SSH.

Donc, la solution que je suggère est:

Recréez votre clé SSH (suivez ceci instruction ), MAIS exécutez Sudo su à la toute première étape, alors tout devrait bien se passer.

0
Trung Đức Mai

Comme pour les autres réponses, utiliser https au lieu de ssh était la solution.

Je poste une réponse pour donner un exemple concret d'une solution possible. J'ai résolu ce problème avec bitbucket lorsque j'ai modifié l'URL distante en HTTPS avec cette ligne de commande:

git remote set-url Origin <bitbucket_URL>

Après cela, je pourrais pousser le contenu dans le référentiel avec cette commande:

git Push -u Origin --all

Et puis je pourrais aussi utiliser Sourcetree

0
Sébastien Gicquel

Je rencontre cette erreur lors du téléchargement du projet sur gitlab. Je n'ai pas cloné à partir de git, mais j'ai téléchargé le projet. Pour transmettre votre code à gitlab, vous avez deux méthodes, soit utiliser ssh ou https. Si vous utilisez https, vous devez entrer le nom d'utilisateur et le mot de passe du compte gitlab. Pour envoyer votre code à git, vous pouvez utiliser le code suivant.

Pousser vers Git pour la première fois

>$ cd
>$ mkdir .ssh;cd .ssh
>$ ssh-keygen -o -t rsa -b 4096 -C "[email protected]"

Le paramètre -C est facultatif, il fournit un commentaire à la fin de votre clé pour le distinguer des autres si vous en avez plusieurs. Cela créera id_rsa (votre clé privée) et id_rsa.pub (votre clé publique). Nous passons notre clé publique autour et gardons notre clé privée - bien, privée. Les paramètres de l’utilisateur de Gitlab vous permettent ensuite de ajouter votre clé publique de votre compte, ce qui nous permet enfin d’appuyer sur Push.

Dans la localisation de votre projet (répertoire), utilisez la commande ci-dessous

git init

Il transforme le répertoire actuel dans un référentiel Git. Cela ajoute un sous-répertoire .git au répertoire en cours et permet de commencer à enregistrer les révisions du projet.

Push en utilisant le chemin https

git Push --set-upstream https://gitlab.com/Account_User_Name/Your_Project_Name.git master

Push en utilisant ssh path

git Push --set-upstream [email protected]:Account_User_Name/Your_project_Name.git master

- set-upstream: indique à git le chemin d'accès à Origin. Si Git a déjà poussé sur votre branche actuelle, il se rappellera où se trouve Origin.

master: c'est le nom de la branche sur laquelle je souhaite appuyer lors de l'initialisation

0
GSK

L'ajout de la clé SSH a fonctionné pour moi. Vous pouvez créer une clé ssh avec la commande ssh-keygen sur mac. Vous devriez pouvoir voir le menu Déployer les clés dans votre dépôt> Paramètres, n'oubliez pas de cocher l'option Autoriser l'accès en écriture.

capture d'écran du menu des clés de déploiement

0
tlrmacl

utilisez votre https Origin au lieu de ssh url

exemple:

git remote add Origin  https://gitlab.com/user/folder.git
0
stilo bit

J'ai eu ce problème, et je découvre que mon système était avec une mauvaise adresse DNS. Vérifiez votre réseau et testez avec

ssh -vvv [email protected]

Et lisez les messages de sortie. Si vous voyez "Vous pouvez utiliser git ou hg pour vous connecter à Bitbucket." , tout va bien.

0
albert

Github utilise maintenant un schéma d'URL

git remote set-url Origin https://github.com/username/repository.git

0
RyPope