156 votes

Le célèbre "ERREUR de Git: autorisation de .git refusée à l'utilisateur"

J'ai essayé de googler et de lire à travers http://help.github.com/troubleshooting-ssh/ et divers, différents guides. Je suis incapable d' git push -u origin master ou git push origin master ( la même commande ).

J'ai eu mon git compte pour au moins 2 ans. J'ai réussi à créer repos et push -u origin master très bien sur mon ordinateur portable, mais sur ce bureau que je vais avoir des problèmes.

Voici ce que j'ai essayé:

1. J'ai mis mon nom d'utilisateur git

2. J'ai configurer mon git email de l'utilisateur

3. J'ai téléchargé le contenu de mon /home/meder/.ssh/id_rsa.pub pour github page de compte. J'ai vérifié je n'ai pas de coller n'importe quel espace

4. J'ai créé un ~/.ssh/config avec ce contenu:

  Host github.com
  User git
  Hostname github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

J'ai chmodded l' .ssh à 700, 600 id_rsa

5. J'ai ajouté à la bonne distance de l'origine sans faire de fautes de frappe : git remote add origin git@github.com:medero/cho.git

6. Pour confirmer #5, voici mon .git/config. Le répertoire est correct et pas un autre répertoire:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@github.com:medero/cho.git

7. ssh git@github.com -v me donne une Authentification réussie

8. Une chose étrange est, le nom d'utilisateur auquel il m'accueille avec a t y sont joints. Mon github nom d'utilisateur est - medero, pas medert.

Salut mederot! Vous avez réussi à authentifié, mais GitHub n'est pas fournir un accès shell.

9. Je suis pas derrière un proxy ou un pare-feu

10. La clé est offert, voici la sortie d' -v:

debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home/meder/.ssh/known_hosts:58
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/meder/.ssh/id_rsa
debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: { some stuff, dont know if i should share it

debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).

11. Voici les commandes que j'ai utilisé

mkdir cho
git init
touch README
git add README
git commit -m 'test'
git remote add origin git@github.com:medero/cho.git
git push -u origin master

12. Je ne veux pas créer une nouvelle clé SSH.

13. Si je git clone à l'aide de ssh et de faire une modification, validation, et git push, j'obtiens exactement la même chose.

14. Voici l'erreur:

$ git push
ERROR: Permission to medero/cho.git denied to mederot.
fatal: The remote end hung up unexpectedly

15. J'ai configurer mon github nom d'utilisateur et github jeton:

$ git config --global github.l'utilisateur medero $ git config --global github.jeton 0123456789yourf0123456789tokenSets le GitHub jeton pour tous git instances sur le système

16. J'ai confirmé mon github nom d'utilisateur n'est PAS mederot et mon github jeton EST CORRECT par page mon compte ( validé les 2 premiers caractères et les 2 derniers caractères ).

17. Pour confirmer la #16, ~/.gitconfig contient

[github]
    token = mytoken...
    user = medero

18. Je n' ssh-key add ~/.ssh/id_rsa si c'est encore nécessaire...



THÉORIES:

J'ai l'impression que quelque chose de louche parce que quand je reçois ssh authentifié, l'utilisateur salutation est - mederot et pas medero, ce qui est mon acct. Quelque chose dans mon github compte éventuellement être correctement mis en cache?

Je soupçonne aussi quelques local ssh mise en cache étrangeté, parce que si j' mv ~/.ssh/id_rsa KAKA et mv ~/.ssh/id_rsa.pub POOPOO, et n' ssh git@github.com -v, il continue d'authentifier moi et me dit qu'il sert mon /home/meder/.ssh/id_rsa quand je l'ai renommé?! Il doit être mis en cache?!

38voto

Mark Longair Points 93104

Dans l'étape 18, je suppose que vous voulez dire ssh-add ~/.ssh/id_rsa? Si oui, qui explique ceci:

Je soupçonne aussi quelques local ssh cache quelque chose d'étrange, parce que si je mv ~/.ssh/id_rsa KAKA et mv ~/.ssh/id_rsa.pub POOPOO, et ssh git@github.com -v, il continue d'authentifier moi et me dit qu'il sert mon /home/meder/.ssh/id_rsa quand je l'ai renommé?! Il doit être mis en cache?!

... depuis l' ssh-agent est mise en cache de votre clé.

Si vous regardez sur GitHub, il y a un mederot compte. Êtes-vous sûr que ce n'est rien à faire avec vous? GitHub ne devrait pas permettre la même clé publique SSH pour être ajouté à deux comptes, depuis quand vous êtes à l'aide de l' git@github.com:... d'Url c'est l'identification de l'utilisateur sur la base de la clé SSH. (Que cela ne devrait pas être permis est confirmé ici.)

Je suppose donc (dans l'ordre décroissant de probabilité) que l'un des éléments suivants est le cas:

  1. Vous avez créé le mederot compte précédemment et l'ajout de votre clé SSH pour elle.
  2. Quelqu'un d'autre a obtenu une copie de votre clé publique et de l'ajouter à la mederot compte GitHub.
  3. Il y a un horrible bug dans GitHub.

Si 1 n'est pas le cas, alors je voudrais signaler à GitHub, afin qu'ils puissent vérifier sur 2 ou 3.

Plus :

ssh-add-l vérifier si il n'y a plus d'un identifier existe si oui, retirez-la en ssh-add-d "qui fichier de clé"

26voto

Sarvesh Points 235

C'est dû à un conflit.

Effacer toutes les clés de ssh-agent

1.ssh-add -d ~ / .ssh / id_rsa 2. ssh-add -d ~ / .ssh / github

Ajouter la clé github ssh

  1. ssh-add ~ / .ssh / github

Cela devrait fonctionner maintenant.

2voto

Perth Charles Points 3

J'ai eu le même problème que toi. Après une longue période de recherche sur Google, j'ai découvert que mon erreur était due à plusieurs utilisateurs qui avaient ajouté la même clé dans leurs comptes.

Alors, voici ma solution: supprimer la clé ssh du mauvais utilisateur (je peux le faire parce que le mauvais utilisateur est aussi mon compte). Si le mauvais utilisateur n'est pas votre compte, vous devrez peut-être changer votre clé ssh, mais je ne pense pas que cela se produira.

Et je pense que votre problème peut être dû à une erreur de frappe dans le nom de votre compte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X