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.
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
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
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.
J'ai rencontré le même problème avec GitHub. C'est facile à résoudre.
git clone
le projet.J'ai aussi fait face au même problème. J'ai fait ce qui suit et cela a fonctionné pour moi:
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. 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é publiquessh-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éeapparemment: 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
Github (ou Bitbucket) ne peut pas trouver votre clé ssh sur son serveur.
Ajoutez simplement votre clé dans les paramètres de votre compte.
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é.
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.
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é!!
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_rsa
dans ce cas, remplacez PRIVATE_KEY_FILE_NAME
par id_rsa
(la clé privée N'A PAS .pub
extension)
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 .
Vous devez créer une nouvelle clé ssh en exécutant ssh-keygen -t rsa
.
Si tout échoue, comme ce fut le cas avec moi, désinstallez GIT, réinstallez. Pour une raison quelconque, cela corrige.
P.S.
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
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.
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
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.
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 .
ssh-add /path/to/new/id_rsa
.config
dans ~/.ssh/
en utilisant. J'ai utilisé vi ~/.ssh/config/
.# GitLab.com server
Host gitlab.com
RSAAuthentication yes
IdentityFile /path/to/new/id_rsa
Après cela, redémarrez le terminal et essayez de pousser, cela devrait fonctionner
correctif pour hub
outil cli:
git config --global hub.protocol https
pour le long termegit remote add OOPS https://github.com/isomorphisms/go.git
&& git Push OOPS
pour solution immédiateCette 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.
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:
Vous pouvez essayer d'ajouter votre clé ssh à votre trousseau privé. Ça a fonctionné pour moi
ssh-add -K ~/.ssh/[your-private-key]
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).