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?
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
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: -
$ eval "$ (ssh-agent -s)"
Agent pid 5867
$ 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.
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é
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à!
Essayez https au lieu de ssh. Choisissez l'option https de la page d'accueil du projet où vous copiez l'URL de clone.
ajoutez ces lignes à votre fichier .get/config
(grâce à @kovshenin answer Git Pull: Change Authentication ):
[credential]
helper = wincred
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!
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 :)
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.
É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.
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 root
name__, vous devrez exécuter Sudo
pour chaque commande git.
lors de l'exécution de Sudo git clone <SSH....>
(par exemple). il sera exécuté avec l'autorisation root
name__, 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.
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
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
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.
utilisez votre https Origin au lieu de ssh url
exemple:
git remote add Origin https://gitlab.com/user/folder.git
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.
Github utilise maintenant un schéma d'URL
git remote set-url Origin https://github.com/username/repository.git