web-dev-qa-db-fra.com

Autorisation refusée (publickey) fatal: Impossible de lire à partir du référentiel distant. lors du clonage du référentiel Git

Je ne parviens pas à cloner un référentiel Git et j'obtiens l'erreur suivante:

krishna.soni@KRISHNACHANDRAS /c/Projects $ git clone http://stage.abc.com:10088/pqr
http://<url>/<repository> Cloning into '<repository>'... fatal: could not read Username for 'http://<url>': No such file or directory

J'ai lu Bitbucket, Windows et «fatal: impossible de lire le mot de passe pour» , mais j'ai toujours le problème.

Je suis allé plus loin mais je reçois maintenant cette erreur

sh.exe": chown: command not found

krishna.soni@KRISHNACHANDRAS /c
$ git clone ssh://[email protected].
/projects
Cloning into 'C:/projects'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

> krishna.soni@KRISHNACHANDRAS /c
>     $ git clone ssh:<url>
>     ts
>     Cloning into 'C:/projects'...
>     Permission denied (publickey).
>     fatal: Could not read from remote repository.

Please make sure you have the correct access rights

et le référentiel existe.

115
Chandra

Cela ressemble à un problème d'autorisations - pas à Windows 7. 

Votre clé SSH n'est pas autorisée - Permission denied (publickey)

Vous devez créer une clé publique ssh et demander à l'administrateur du référentiel Git d'ajouter la clé publique ssh.

Informations sur la procédure à suivre: L'enregistrement de la clé ssh échoue

53
First Zero

Pour les personnes qui viennent ici et qui cherchent simplement à obtenir le référentiel mais ne s’intéressent pas au protocole (ssh/https), vous voudrez peut-être simplement utiliser https au lieu de ssh (s’il est pris en charge).

Donc, par exemple, vous utilisez 

git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

au lieu de

git clone [email protected]:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
187
Arjan

S'il existe toujours un problème d'accès après la création de SSH et son ajout dans votre compte Bitbucket ou ailleurs, vous devez procéder comme suit sur GitBash, OSX ou Linux:

ssh-add -l

Ensuite, si votre clé ne figure pas dans la liste, ajoutez-la avec:

ssh-add ~/.ssh/identity

Cela a fonctionné pour moi.

63
Srikanth Kondaparthy

J'ai rencontré le même problème avec GitHub. C'est facile à résoudre.

  1. Générez une clé SSH sur votre ordinateur comme décrit ici: Génération de clés SSH .
  2. Connectez-vous à votre compte GitHub: Connexion GitHub .
  3. Dans votre compte, ajoutez la clé SSH nouvellement générée: Clés SSH de mon compte .
  4. Essayez à nouveau de git clone le projet.
15
Maxime

J'ai aussi fait face au même problème. J'ai fait ce qui suit et cela a fonctionné pour moi:

  1. Générez des clés à partir du client d'interface graphique GIT sous Windows. Copiez cette clé dans le presse-papiers.
  2. Ouvrez votre compte sur le site Web bitBucket/ git et ajoutez cette clé à votre profil. De cette façon, le serveur sait que vous êtes un utilisateur légitime accédant à partir d'un système légitime. 
  3. C'est tout. Toutes les commandes Push ont fonctionné pour moi désormais.
11
Ashwin Tumma

J'ai eu ce problème sur un Mac - bien que j'installe correctement SSH pour accéder à mon référentiel Git, après le redémarrage (et à un moment donné, le Mac était en attente), toutes mes informations d'identification ont été supprimées. Apparemment, pour une raison quelconque, la clé de publication a été définie sur 644, ce qui a entraîné son retrait du trousseau. À lire:

  • chmod 600 la clé publique
  • ssh-add ~/.ssh/[your private key] - cela devrait afficher que l'identité a été ajoutée. Le fichier de clé que vous voulez est celui sans l'extension .pub.
  • ssh-add -l devrait vous montrer l'identité nouvellement ajoutée

apparemment: MacOS a tendance à enlever les clés - après avoir téléchargé la mise à jour High Sierra (mais je ne l’ai pas encore installée), ma clé a été supprimée et j’ai dû la rajouter via ssh-add

11
eithed

Github (ou Bitbucket) ne peut pas trouver votre clé ssh sur son serveur.

Ajoutez simplement votre clé dans les paramètres de votre compte.

6
jsxqf

J'ai eu l'erreur ...

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

... lorsque j'essayais d'établir une liaison entre une invite Git Bash et Bitbucket après la mort de mon ordinateur portable suite à une mauvaise mise à jour de Windows 10 et que je retrouvais les paramètres d'usine. J'avais restauré tous mes fichiers ssh à partir d'une sauvegarde.

La cause de l'erreur s'est avérée être une incompatibilité dans le nom de mon compte Windows après la reconstruction de l'ordinateur. J'ai appris que le fichier de clé publique id_rsa.pub se terminait par une chaîne facilement lisible comprenant le nom de mon compte Windows suivi du signe @, puis du nom de l'ordinateur.

Lors de la configuration initiale de mon ordinateur, j'ai créé le nom de mon compte Windows, y compris l'initiale du deuxième prénom, mais lorsque mon ordinateur a été réinitialisé aux paramètres d'usine, notre nouveau responsable DevOps a créé mon nom de compte sans l'initiale du deuxième prénom.

Pour résoudre le problème, j'ai simplement modifié mon fichier de clé publique id_rsa.pub et supprimé la deuxième initiale de mon nom. J'avais collé avec le même nom d'ordinateur, donc ça allait. J'ai copié le contenu du fichier dans le presse-papier Windows. Je me suis ensuite connecté à Bitbucket, je suis allé dans Paramètres de Bitbucket sous mon avatar et j'ai ajouté une nouvelle clé publique dans laquelle j'ai collé le nouveau contenu. 

De retour à l'invite Git Bash, j'ai confirmé que cela fonctionnait maintenant en entrant la commande ...

ssh -T [email protected]

... et j'ai reçu un message indiquant que j'étais connecté.

4
Ken A Collins

Pour moi, quand je voulais cloner depuis mon référentiel, j'avais le même message que précédemment "Autorisation refusée (publickey) fatal: Impossible de lire à partir d'un référentiel distant". La solution pour mon cas est de ne pas utiliser Sudo avant le clone ça y est.

4
mustapha

Si vous générez une nouvelle clé publique ssh et que vous l’avez insérée dans bitbucket ou github, 

il n'a pas aidé - s'il vous plaît essayez de redémarrer votre PC . Ça m'a aidé!!

4
nicolas asinovich

Sous macOS/Linux (Ubuntu):

1. Pour vous authentifier, vous devez ajouter votre partie publique de votre paire de clés SSH à bitbucket à partir de vos paramètres utilisateur: Paramètres utilisateur -> Clés SSH

Vous trouverez cette partie publique dans votre répertoire ~/.ssh, généralement id_rsa.pub. notez la partie .pub du nom de fichier pour Public . Elle vous aidera à en générer un si vous n'en avez pas déjà un

Vous n'avez pas encore fini ...

2. Vous devez informer votre système de la clé à utiliser avec l'hôte distant. Ajoutez donc ces lignes à votre fichier ~/.ssh/config.

Host bitbucket.org
 IdentityFile ~/.ssh/PRIVATE_KEY_FILE_NAME

Si PRIVATE_KEY_FILE_NAME est le nom de la partie privée de votre paire de clés SSH, si vous ne l’avez pas encore fouillée, son nom par défaut est généralement: id_rsadans ce cas, remplacez PRIVATE_KEY_FILE_NAME par id_rsa (la clé privée N'A PAS .pub extension)

3
ninjayoto

J'ai rencontré le même problème lors de l'exécution de la commande git clone à partir de la ligne de commande Windows. Mais la commande s'exécute avec succès à partir de Git Bash .

3
lazyvab

Vous devez créer une nouvelle clé ssh en exécutant ssh-keygen -t rsa.

3
biniam

Si tout échoue, comme ce fut le cas avec moi, désinstallez GIT, réinstallez. Pour une raison quelconque, cela corrige.

P.S. 

  1. J'ai essayé de générer de nouvelles clés et de mettre à jour des clés publiques SSH
  2. Également essayé de supprimer toutes les clés et essayé de créer une nouvelle clé.
  3. Et non, rien de mal avec mon .gitconfig
2
Ronak Agrawal

J'ai eu le même problème. Je change les clés SSH et redémarré et essayé toutes les autres solutions. Mais le problème réel pour moi était que notre protocole par défaut gitlab était passé de ssh à https.

vérifier l'URL à distance avec

git remote -v

changer l'URL distante

git remote set-url Origin https://URL
2
nantitv

Lors du clonage, j'ai eu un problème similaire [mon ERREUR: Autorisation refusée (publickey) . fatal: Impossible de lire à partir du référentiel distant . Assurez-vous d’avoir les droits d’accès corrects, etc. etc. 

- J'utilisais bitBucket/UBUNTU14.04 dans mon cas, maisD&EACUTE;J&AGRAVE;avait un ensemble de fichiers de clés que j'avais précédemment générés ET j'avais changé le nom des fichiers. J'ai simplementCOPI&EACUTE;les fichiers au format de nom standard id_rsa & id_rsa.pub. J'ai ensuite réexécuté la commande sans problème. 

OBTENU: J'aurais aussi pu utiliser l'invite de mot de passe en utilisant le clone de style HTTP.

1
Jorge de la Torre

Fil utile et je n'apporte pas grand chose de nouveau à la table. La mesure que j’ai prise fait également partie de la description de Maxime, mais certains l’ignorent. La section est Ajout de votre clé SSH à ssh-agent .

J'avais déjà généré ma clé ssh mais après un redémarrage, j'étais incapable de cloner l'un de mes propres référentiels.

Je devais démarrer ssh-agent et ajouter la clé privée à cet agent pour pouvoir cloner.

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
1
kometen

J'ai eu la même erreur. Ma solution consistait à me déconnecter et à me reconnecter car mon agent ssh n'était plus synchronisé avec la clé ssh distante. 

En ajoutant ceci au cas où quelqu'un aurait vu que les autres réponses ne semblaient pas s'appliquer à leur situation.

0
Martlark

Je faisais face au même problème lors de la configuration de ssh pour gitlab. J'ai déjà ssh pour github et je ne pourrais pas écraser cela .

  1. Générez SSH avec un nouveau chemin et ajoutez-le à la liste ssh ssh-add /path/to/new/id_rsa.
  2. Créez un fichier nommé config dans ~/.ssh/ en utilisant. J'ai utilisé vi ~/.ssh/config/.
  3. Ajouter ceci au fichier nouvellement créé

# GitLab.com server Host gitlab.com RSAAuthentication yes IdentityFile /path/to/new/id_rsa

  1. Sauvegarder et quitter.

Après cela, redémarrez le terminal et essayez de pousser, cela devrait fonctionner

0
ishwar rimal

correctif pour hub outil cli:

  • git config --global hub.protocol https pour le long terme
  • git remote add OOPS https://github.com/isomorphisms/go.git && git Push OOPS pour solution immédiate

Cette erreur se produit avec l'outil de ligne de commande hub en raison de la mauvaise valeur par défaut hub.protocol git-config. Ils ont mis en pension

git://github.com/schacon/ticgit.git

au lieu de ce que github accepte réellement, à savoir https://github.com/schacon/ticgit.git.


La lecture de LESS=+/"HTTPS instead" man hub expliquera l’origine de la commande "correctif à long terme" ci-dessus.

0
isomorphismes

Si vous souhaitez cloner des projets open source pour soumettre une demande d'extraction:

Je voulais cloner un projet open source pour pouvoir soumettre des demandes d'extraction. Le problème était que je n'avais pas les permissions du propriétaire du projet. Peu importe, puisque mon intention était de soumettre un PR, voici une alternative viable: 

Ma solution:

  1. Dépôt de fourches

 Fork Repo

  1. Puis clonez à partir de votre référentiel forké .  Clone from forked Repo

  2. Travaillez sur vos fonctionnalités, puis soumettez une demande d'extraction.

0
BKSpurgeon

Vous pouvez essayer d'ajouter votre clé ssh à votre trousseau privé. Ça a fonctionné pour moi

ssh-add -K ~/.ssh/[your-private-key]
0
Ankur Kedia

J'ai eu un problème similaire sur Linux. J'ai résolu le problème en me connectant au serveur github et en créant une clé de déploiement. C'est sous les paramètres du référentiel. Ensuite, j'ai copié et collé ma clé publique (qui se trouve généralement dans ~/.ssh/id_rsa.pub, mais votre configuration peut être différente). Il y a une case à cocher pour donner à cette clé un accès en écriture. Cliquez dessus (à moins que vous n'utilisiez git que pour le déploiement, dans ce cas, ne cliquez pas dessus). 

0
user1928764