Erreur "Auth Failed" avec EGit et GitHub

98

J'ai installé le plugin EGit chez Eclipse Helios et j'essaye de l'utiliser avec mon compte GitHub, mais quand j'essaye de le configurer, j'obtiens une erreur "Auth Failed".

J'avais cherché sur Google mais pas de chance ... cela semble être un problème avec ma phrase de passe mais AFAIK EGit cherche au bon endroit ( /home/user/.ssh/id_rsa) et je n'ai aucun problème pour connecter sshou gitconsole client.

Certains blogs disent que c'est un problème avec l'URI et l'analyseur d'Egit mais je n'ai toujours pas trouvé de solution.

tehsis
la source

Réponses:

140

Ma réponse est peut-être dépassée, mais j'espère qu'elle pourra être utile à quelqu'un.

  1. Dans votre Eclipse, allez dans Fenêtre> Préférences> Général> Connexions réseau> SSH2 (ou tapez simplement "SSH2" dans la boîte de filtre de la fenêtre des préférences).

  2. Dans l' onglet "Gestion des clés", appuyez sur le bouton "Générer la clé RSA ..." . En option, vous pouvez ajouter un commentaire (généralement une adresse e-mail) et une phrase de passe à votre clé. La phrase secrète sera utilisée lors de l'authentification sur GitHub.

  3. Copiez votre clé publique générée (dans une case juste en dessous du bouton "Générer la clé RSA ...") et ajoutez-la à votre compte GitHub.
  4. Appuyez sur le bouton "Enregistrer la clé privée ..." pour enregistrer votre clé RSA privée dans un fichier. Par défaut, les clés sont stockées dans le répertoire de base SSH2 (voir l'onglet "Général").

C'est tout! Vous devriez maintenant pouvoir transmettre votre code au dépôt GitHub.

Andrei Petrenko
la source
1
Ma clé privée n'avait pas le nom standard (id_rsa), elle n'était donc pas reconnue comme telle. Je l'ai ajouté manuellement, dans les fenêtres de préférences que vous avez indiquées, et cela a bien fonctionné.
muriloq
18
J'ai remarqué qu'après avoir configuré la clé SSH comme vous le décrivez, je ne devrais pas changer le nom d'utilisateur / mot de passe dans la boîte d'authentification (je mettais mes informations d'identification GitHub). La valeur par défaut dans cette zone est nom d'utilisateur: git et le mot de passe est vide.
harschware
1
Cela a fonctionné pour moi avec un référentiel BitBucket git, j'ai dû redémarrer Eclipse cependant.
artlung
8
laisser le nom d'utilisateur git et le mot de passe vide a finalement fonctionné pour moi.
Mike R
4
Voici le processus pour ajouter la clé RSA générée à votre compte github 1) connectez-vous à votre compte github 2) allez aux paramètres 3) sur le côté gauche, vous trouverez des clés SSH, cliquez dessus 4) puis cliquez sur ajouter des clés SSH (maintenant collez la clé SSH que vous avez généré)
rajeev
27

J'ai eu exactement le même problème mais j'ai trouvé le remède à partir d'un rapport de bogue Eclipse!

Une variable d'environnement nommée GIT_SSH doit être définie avec un chemin vers un exécutable ssh [1].

Par exemple sur Ubuntu Linux (10.10 64 bits):

> export GIT_SSH=/usr/bin/ssh
> eclipse

Après cela, les poussées vers le référentiel GitHub fonctionnent comme elles le devraient. J'ai testé cela avec Eclipse Galileo et Indigo.

Le problème est vraiment ennuyeux et la solution est loin d'être agréable. Pour l'instant, pour rendre la solution permanente pour, au moins les utilisateurs d'Ubuntu, il faut rendre la variable env permanente. Cela peut être fait en ajoutant la commande d'exportation à ~ / .profile ou ~ / .bashrc [2]. Par exemple:

> cd ~
> echo "export GIT_SSH=/usr/bin/ssh" >> .profile

Et puis redémarrez Eclipse pour prendre effet.

Sources:

Akseli Palén
la source
J'ai été sur ce problème toute la semaine - Eclipse sous osx se connectant à GitHub ou Asssembla. Votre solution fonctionne pour moi. Merci.
ianmayo
Sous Windows, openssh ne fonctionnait pas pour moi. J'ai dû utiliser plink. Voyez ma réponse.
Piotr Dobrogost
Et cela se rapproche d'un correctif publié. À la fin du rapport de bogue, quelqu'un a montré comment télécharger manuellement le dernier fichier jar jsch et l'installer manuellement pour le faire fonctionner de cette façon. Je vais simplement utiliser cette solution env var et attendre que le fichier jar jsch entre dans la version réellement éclipse.
crowmagnumb
J'ai résolu mon problème. Merci.
Pedram
OMG. Des problèmes comme celui-ci me font me demander pourquoi Android a utilisé Eclipse en premier lieu. Merci beaucoup pour votre conseil. Cela a résolu mon problème, et EGit / Eclipse était totalement inutile avec "Auth Fail"
Calyth
16

Je l'ai résolu en sélectionnant httpcomme protocole et en donnant mon nom d'utilisateur et mon mot de passe GitHub.

hari_sree
la source
Oui! Contrairement à tout ce que j'ai lu, mais cela a fonctionné. (Eclipse Indigo)
Owen B
http ou https sont bien plus simples que ssh
Junchen Liu
Oui, mais il y a des cas où vous devez utiliser ssh. Par exemple, avoir besoin d'une authentification à deux facteurs dans BitBucket tout en travaillant avec des référentiels. Vous ne pouvez travailler sur ssh que si vous avez besoin d'une authentification à deux facteurs.
Akshay Mahajan
10

Après avoir passé des heures à chercher la solution à ce problème, j'ai finalement trouvé de l'or en apportant les modifications mentionnées sur un forum Eclipse .

Pas:

Prérequis: mysysgit est installé avec la configuration par défaut.

1.Créez le fichier C: /Users/Username/.ssh/config (remplacez "Username" par votre nom d'utilisateur Windows 7. (par exemple C: /Users/John/.ssh/config)) et mettez-y ceci:

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

Essayez de configurer le référentiel distant maintenant dans Eclipse.

À votre santé. Cela devrait fonctionner parfaitement.

Rushal A
la source
8

Vous devez installer msysgit, après l'installation, vous devez ouvrir Git Bash et y entrer ces commandes:

$ git config --global user.name "Gennadiy Zlobin" (your name)
$ git config --global user.email [email protected] (your email)
$ ssh-keygen -C "[email protected]" -t rsa (your email)

Maintenant, vos clés générées sont dans C:\Users\username\.ssh(sous Windows 7).
Ensuite, vous chargez le contenu de votre clé publique dans votre projet sur Github
Dans Eclipse, ouvrez Window->Preferences->General->Network->SSH2et définissez votre ~/.sshcomme SSH Home

Après cela, allez dans Key Management tabet chargez la clé existante - définissez ici votre clé privée ~/.ssh.

Après cela, vous pouvez pousser votre projet sur Github (mais j'ai défini le protocole ssh, pas git + ssh).

Gennad
la source
Merci beaucoup, mais en fait je l'exécute sous Arch Linux
tehsis
5

J'ai résolu le même problème en ajoutant ma clé à ssh;

ssh-add ~/.ssh/id_rsa 

puis entré la phrase de passe et besoin de redémarrer.

Volkan
la source
4

Pour les utilisateurs * nix qui utilisent SSH:

Assurez-vous que le nom d'utilisateur de votre compte sur votre ordinateur local ne diffère pas du nom d'utilisateur du compte sur le serveur. Apparemment, eGit ne semble pas être en mesure de gérer cela. Par exemple, si votre nom d'utilisateur sur votre machine locale est «john» et que le compte que vous utilisez sur le serveur s'appelle «git», egit ne parvient tout simplement pas à se connecter (pour moi de toute façon). La seule solution que j'ai trouvée est de m'assurer que vous avez des noms d'utilisateur identiques sur la machine locale et sur le serveur.

Jeshurun
la source
1
Une idée est-ce toujours le cas? Je me suis cogné la tête contre le mur ce soir. Ma clé privée est protégée par une phrase secrète, qu'Eclipse / eGit ne demande jamais. Quand j'essaye de pousser à distance, Eclipse crache juste une erreur "org.eclipse.jgit.transport.CredentialItem $ StringType Passphrase for .ssh id_rsa"
Vilsepi
2

Mes quatre penneth: mes clés SSH ont été configurées dans Cygwin, à C: \ cygwin \ home \ <user> .ssh, j'ai donc pointé SSH vers ce dossier au lieu de la valeur par défaut (Win7) C: \ Users \ <user> \ ssh , selon ces instructions: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

et utilisé le protocole ssh, et cela fonctionne très bien. Essayer d'utiliser le protocole git donne toujours "Utilisateur non pris en charge sur le protocole git", cependant.

drkvogel
la source
2

Pour vous qui, comme moi, avez déjà configuré vos clés ssh mais obtenez toujours les erreurs:

Assurez-vous d'avoir configuré une télécommande push . Cela a fonctionné pour moi lorsque j'ai obtenu les deux références de référentiel distant Impossible d'obtenir problèmes de ("... Passphrase for ..." et "Auth fail" dans la boîte de dialogue "Push ...").

À condition que vous déjà:

  1. Configurez vos clés SSH avec Github (Fenêtre> Préférences> Général> Connexions réseau> SSH2)

  2. Configurez votre référentiel local (vous pouvez suivre ce guide pour cela)

  3. Création d'un référentiel Github ( même guide )

... voici comment procéder:

  • Accédez à la vue Git Repositories (Fenêtre> Afficher la vue> Autre> Git Repositories)
  • Développez votre référentiel et faites un clic droit sur Télécommandes -> "Create Remote"
  • "Nom distant": origine, "Configurer push": coché -> cliquez sur "OK"
  • Cliquez sur le bouton "Modifier ..."
  • Collez votre URI git et sélectionnez le protocole ssh -> cliquez sur "Terminer"
  • Maintenant, cliquez sur "Enregistrer et pousser" et MAINTENANT, vous devriez obtenir une invite de mot de passe -> entrez la phrase de passe de la clé publique ici (à condition que vous ayez (et que vous devriez) configurer une phrase de passe pour votre clé publique) -> cliquez sur "OK"
  • Maintenant, vous devriez obtenir une fenêtre de confirmation indiquant "Pushed to YourRepository - origin" -> cliquez sur "OK"
  • Pousser vers l'amont , mais cette fois, utilisez "Référentiel distant configuré" comme référentiel Git de destination
  • Allez vous procurer une tasse de café bien méritée!
Roger
la source
1

J'ai mis à jour le plugin avec les builds nocturnes: http://www.eclipse.org/egit/download/

Avec une mise à jour, cela a fonctionné pour moi. (Eclipse Helios, Mac OS X)

fbrandel
la source
Cela ne fonctionne toujours pas pour moi: (il a été mis à jour deux fois depuis que je
publie
1

Avez-vous essayé d'utiliser le protocole ssh à la place sur git + ssh? J'ai le même problème, et cela l'a résolu, même si la documentation officielle dit d'utiliser git + ssh

kamisama
la source
1

Sous Windows, le réglage GIT_SSHsur openssh fourni avec msys git ne fonctionnait pas (Eclipse se bloquait pendant la validation). Le paramétrer sur TortoisePlink a résolu le problème (je suppose que plink original fonctionnerait également). Le bonus supplémentaire est maintenant qu'Eclipse utilise des clés stockées dans Pageant.

Piotr Dobrogost
la source
1

Je l'ai résolu en sélectionnant https comme protocole, puis en ajoutant mon nom d'utilisateur et mon mot de passe github

Eden
la source
1

Dans votre vue GIT où vous avez vos référentiels, vous verrez une structure telle que:

  • branches
  • Mots clés
  • références
  • télécommandes
  • etc...

Cliquez sur les télécommandes, cliquez avec le bouton droit de la souris sur l'url du référentiel et sélectionnez «Modifier les informations d'identification».

Fico
la source
0

J'ai trouvé un article sur les forums Eclipse qui a résolu ce problème pour moi.

Daniel Jonsson
la source
0

J'avais le même problème qui semble être dû à un problème de configuration. L'application github mac osx avait créé une clé privée ssh appelée github_rsa

Dans votre Eclipse, allez à Window > Preferences > Network Connections > SSH2

Dans l'onglet général, vous devriez voir SSH2 home, /Users/<you username>/.sshvous verrez probablement id_dsa, id_rsa définis comme des clés privées.

Cliquez sur 'Ajouter une clé privée' et sélectionnez github_rsa situé /Users/<you username>/.ssh

Scottyab
la source
0

SI VOUS AVEZ UN FICHIER PEM : Dans Eclipse, allez dans Fenêtre> Préférences> Connexions réseau> SSH2 , puis ajoutez le chemin de votre fichier PEM à "Clés privées" et cela devrait résoudre le problème.

Msamadi
la source
0

Je voulais rendre public une fois moi aussi un correctif de code google et j'ai eu la même erreur. Commencé par ce vidéo, mais lors de l'enregistrement et de la publication, une erreur s'est produite. J'ai vu qu'il y avait plusieurs questions à ce sujet. Certains sont des utilisateurs de Windows, ceux-là sont les plus chanceux, car généralement aucun problème avec les autorisations et certains sont des utilisateurs de Linux.

J'ai un mac pour une utilisation en développement mobile et je rencontre très souvent ce problème. La source de ces problèmes est les solutions «indépendantes de la plate-forme», qui ne se soucient pas assez de mac et n'ont pas accès au trousseau, où sont stockés les certificats, les fichiers .pem, etc.

Tout ce que je voulais, c'est ne pas faire de paramètres d'environnement, ni de ligne de commande, juste de simples clics basés sur l'interface graphique, comme un utilisateur ordinaire.

La moitié a été réalisée avec le plugin Eclipse Git, la seconde partie (push to Github) a été réalisée avec Mac Github

Sympa et facile :)

Tout peut être fait avec cette application native si je commence à l'apprendre, j'ai juste besoin de la fonctionnalité push de sa part.

En espérant que cela aidera un utilisateur mac une fois.


la source
0

J'ai découvert que si je configure l'authentification en deux étapes dans github, Eclipse ne peut pas se connecter à Github - ce qui est logique car l'authentification en deux étapes dans github vous oblige à saisir un numéro à partir d'un SMS (et Eclipse ne le ferait pas) t avoir cette information).

Si tel est votre scénario, vous pouvez envisager de désactiver votre authentification en deux étapes dans github et voir si cela vous aide.

kevlaria
la source
0

Pour les clés ssh existantes, je pense que c'est un bogue dans Eclipse Juno 3.8.

Ce que j'ai fait:

1) Chargez la clé existante en allant dans: Fenêtre> Préférences> "Rechercher ssh"> Onglet Gestion des clés> Charger la clé existante> Sélectionnez la clé privée que vous avez déjà

2) Enregistrez cette clé en cliquant sur le bouton Enregistrer la clé privée . Appelons-le id_dsa_github

3) Vérifiez maintenant si la poussée et la traction fonctionnent ou non. Ça devrait être.

4) Maintenant dans l'onglet général, supprimez la clé privée id_dsa_github et ajoutez votre précédente clé privée en cliquant sur le bouton Ajouter une clé privée

Maintenant, vous êtes prêt à partir. Il faut au moins une fois pour faire toutes les choses d'EGit pour s'inscrire , je suppose.

Soham
la source
0

Je rencontre le même problème.

Je pensais que c'était quelque chose à voir avec mes informations d'identification et mon authentification.

Puis j'ai finalement réalisé que l'URI que j'avais configuré n'était pas une variante HTTP.

J'essayais de pousser vers l'URI SSH de mon Git avec la configuration HTTP.

Vérifiez votre URL dans

Git Perspective> Télécommandes> Origine> Configurer Fetch> Modifier> Assurez-vous que le prtocal est HTTPS et que l'URL est la version https .

MohanRaj
la source
0

Je pourrais utiliser la console pour pousser / extraire les référentiels, mais pas dans eclipse. Dans mon cas, eclipse semble ne pas pouvoir lire ma clé privée SSH, ma clé a commencé par:

-----BEGIN OPENSSH PRIVATE KEY-----

Et j'ai remarqué que la clé de mon collègue commençait par:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

Je pense qu'actuellement, eclipse ne peut pas prendre ce nouveau type de clé (OPENSSH PRIVATE KEY).

Je l'ai résolu en: Régénérez votre clé ssh en utilisant la commande:

ssh-keygen -m PEM -t rsa -b 2048

Cela utilisera l'ancienne méthode pour générer la clé: elle commencera donc par les en-têtes:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

voir plus d'informations sur:

https://github.com/duplicati/duplicati/issues/3360

Ensuite, vous pouvez charger à nouveau la clé dans eclilpse en utilisant Préférences -> Connexions réseau -> SSH2, cliquez sur "Ajouter une clé privée" (sélectionnez toujours votre clé privée, même si vous voyez déjà le nom dans la liste des clés privées, car eclipse doit recharger)

Angie
la source