Question Message d'erreur GitHub - Autorisation refusée (clé publique)


Quelqu'un a vu cette erreur et sait quoi faire?

J'utilise le terminal, je suis à la racine, le référentiel GitHub existe et je ne sais plus quoi faire maintenant.

> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

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

571
2017-10-17 18:11


origine


Réponses:


GitHub n'est pas capable de vous authentifier. Donc, soit vous n'êtes pas configuré avec une clé SSH, parce que vous n'avez pas en mettre un sur votre machineou votre clé n'est pas associée à votre compte GitHub.

Vous pouvez également utiliser l'URL HTTPS au lieu de l'URL SSH / git pour éviter d'avoir à gérer les clés SSH. C'est La méthode recommandée par GitHub.

En outre, GitHub a un page d'aide spécifique pour ce message d'erreuret explique plus en détail tout ce que vous pourriez vérifier.


554
2017-10-17 18:15



Vous devez générer une clé SSH (si vous n'en avez pas) et associer la clé publique à votre compte Github. Voir La propre documentation de Github.


54
2017-10-17 18:13



Avez-vous créé un config fichier dans votre répertoire ~ / .ssh? Il devrait avoir des contenus comme ceux-ci:

Host github.com 
 IdentityFile ~/.ssh/github_rsa

En supposant que vous avez créé une clé ssh nommée github_rsa

et l'a téléchargé sur GitHub ...

REMARQUE: vous devez suivre cette méthode de configuration explicite si vous avez plus de 1 clé (2 et plus) dans votre répertoire ~ / .ssh /. Si vous ne spécifiez pas de clé de cette façon, la première clé dans l'ordre est prise et utilisée pour l'authentification github, elle dépend donc du nom du fichier clé.


50
2018-02-21 15:43



Cela m'est arrivé. Pour une raison que j'ignore, mon origine s'est foiré sans que je m'en rende compte:

Vérifiez si vos paramètres sont toujours corrects

git remote -v

l'url doit ressembler à ssh: //git@github.com/YourDirectory/YourProject.git; Si vous ne voyez pas git@github.com, utilisez

git remote set-url origin git://github.com/YourDirectory/YourProject.git

pour le régler correctement. Vous pouvez également utiliser l'application github pour vérifier et définir l'URL du référentiel distant principal dans le panneau des paramètres de votre référentiel particulier.


43
2018-05-23 03:30



Je connais ce problème. Après avoir ajouté la clé ssh, ajoutez également la clé ssh à l'agent ssh (à partir des documents officiels https://help.github.com/articles/generating-ssh-keys/)

ssh-agent -s
ssh-add ~/.ssh/id_rsa

Après cela, tout fonctionne bien, git peut voir la bonne clé, avant de le faire.


36
2018-06-12 14:51



Tout d'abord, nous devons vérifier les clés ssh existantes sur votre ordinateur. Ouvrez Terminal et exécutez:

ls -al ~/.ssh

#or

cd ~/.ssh
ls

et cela liste les fichiers dans votre répertoire .ssh

Et enfin en fonction de ce que vous voyez (dans mon cas était):

 github_rsa  github_rsa.pub known_hosts

Essayez simplement de configurer votre RSA et, espérons-le, cela va résoudre vos problèmes d'origine "git push"

$ ssh-keygen -lf ~/.ssh/github_rsa.pub

REMARQUE: Les certificats RSA sont appairés de sorte que vous aurez un certificat privé et un certificat public, privé ne sera pas accessible pour vous puisqu'il appartient à github (dans ce cas) mais le public est celui que vous pourriez manquer quand cette erreur survient (à moins c'était mon cas, mon compte github ou repo a été foiré d'une manière ou d'une autre et j'ai dû "lier" la clé publique, générée précédemment)


19
2017-08-01 23:23



En supposant que vous connectez GitHub sur SSH, vous pouvez exécuter la commande ci-dessous pour le confirmer.

$git config --get remote.origin.url

Si vous obtenez un résultat a le format suivant git@github.com: xxx / xxx.github.com.git, alors vous devriez faire ce qui suit.

Générez une clé SSH (ou utilisez une clé existante). Si vous en avez un, vous n'avez qu'à ajouter votre clé à l'agent ssh (étape 2) et à votre compte GitHub (étape 3).

ci-dessous sont pour ceux qui n'ont pas de clé SSH.

Étape 1 Génération d'une paire de clés publique / privée.

$ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Il vous sera demandé de confirmer où enregistrer la clé SSH et quelle phrase secrète vous souhaitez utiliser.

Étape 2 Ajoutez votre clé à l'agent ssh

  • Assurez-vous que ssh-agent est activé

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

  • Ajoutez votre clé SSH à l'agent ssh:

    $ssh-add ~/.ssh/id_rsa

Étape 3 Ajoutez votre clé SSH à votre compte

$sudo apt-get install xclip

$xclip -sel clip < ~/.ssh/id_rsa.pub

Ensuite, ajoutez la clé copiée à GitHub

Aller à Paramètres->Clés SSH(Barre latérale des paramètres personnels) ->Ajouter une clé SSH-> remplir le formulaire (la clé est dans votre presse-papier, utilisez simplement ctrl + v) ->Ajouter une clé

Après avoir parcouru les étapes ci-dessus, vous devriez résoudre le problème d'autorisation.

Lien de référence: Génération de clés SSH.


16
2018-01-03 14:34