Errore "Autenticazione non riuscita" con EGit e GitHub


98

Ho installato il plugin EGit su Eclipse Helios e sto cercando di usarlo con il mio account GitHub, ma quando provo a configurarlo ricevo un errore di "Autenticazione non riuscita".

Stavo cercando su Google ma senza fortuna ... sembra essere un problema con la mia passphrase ma AFAIK EGit sta cercando nel posto giusto ( /home/user/.ssh/id_rsa) e non ho problemi a connettermi ssho al gitclient della console.

Alcuni blog dicono che è un problema con l'URI e il parser di Egit ma non ho ancora trovato una soluzione.


Risposte:


140

La mia risposta potrebbe essere obsoleta, ma si spera che possa essere utile per qualcuno.

  1. Nel tuo Eclipse vai su Finestra> Preferenze> Generali> Connessioni di rete> SSH2 (o digita semplicemente "SSH2" nella casella del filtro della finestra delle preferenze).

  2. Nella scheda "Gestione chiavi" premere il pulsante "Genera chiave RSA ..." . Opzionalmente puoi aggiungere un commento (solitamente un indirizzo e-mail) e una passphrase alla tua chiave. La passphrase verrà utilizzata durante l'autenticazione su GitHub.

  3. Copia la chiave pubblica generata (in una casella appena sotto il pulsante "Genera chiave RSA ...") e aggiungila al tuo account GitHub.
  4. Premi il pulsante "Salva chiave privata ..." per salvare la tua chiave RSA privata nel file. Per impostazione predefinita, le chiavi sono memorizzate nella directory principale di SSH2 (vedere la scheda "Generale").

Questo è tutto! Ora dovresti essere in grado di inviare il tuo codice al repository GitHub.


1
La mia chiave privata non aveva il nome standard (id_rsa), quindi non veniva riconosciuta come tale. L'ho aggiunto manualmente, nelle finestre delle preferenze da te indicate, e ha funzionato bene.
muriloq

18
Ho notato che dopo aver impostato la chiave SSH come descrivi non dovrei cambiare il nome utente / password nella casella di autenticazione (stavo inserendo le mie credenziali GitHub). L'impostazione predefinita in questa casella è nome utente: git e la password sono vuoti.
harschware

1
Questo ha funzionato per me con un repository git BitBucket, ma ho dovuto riavviare Eclipse.
artlung

8
lasciare il nome utente come git e la password vuoti alla fine ha funzionato per me.
Mike R

4
Ecco il processo per aggiungere la chiave RSA generata al tuo account GitHub 1) accedi al tuo account GitHub 2) vai alle impostazioni 3) sul lato sinistro troverai le chiavi SSH, fai clic su di esso 4) quindi fai clic su aggiungi chiavi SSH (ora incolla la chiave SSH che hai generato)
rajeev

27

Ho avuto esattamente lo stesso problema ma ho trovato la cura da un bug report di Eclipse!

Una variabile di ambiente chiamata GIT_SSH deve essere impostata con un percorso per un eseguibile ssh [1].

Ad esempio su Ubuntu Linux (10.10 64 bit):

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

Dopodiché, i push al repository GitHub funzionano come dovrebbero. L'ho provato con Eclipse Galileo e Indigo.

Il problema è davvero fastidioso e la soluzione è tutt'altro che piacevole. Per ora, rendendo la soluzione permanente almeno per gli utenti di Ubuntu, è necessario rendere permanente la variabile env. Può essere fatto aggiungendo il comando export a ~ / .profile o ~ / .bashrc [2]. Per esempio:

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

Quindi riavvia Eclipse per avere effetto.

Fonti:


Sono stato su questo problema tutta la settimana: Eclipse sotto osx che si connette a GitHub o Asssembla. La tua correzione funziona per me. Grazie.
ianmayo

Su Windows, openssh non ha funzionato per me. Ho dovuto usare il plink. Vedi la mia risposta.
Piotr Dobrogost

E si sta avvicinando a una correzione rilasciata. Alla fine della segnalazione di bug qualcuno ha mostrato come scaricare manualmente l'ultimo file jar jsch e installarlo manualmente per farlo funzionare in quel modo. Vado solo con questa soluzione env var e aspetto che il file jar jsch entri nella versione effettivamente eclipse.
crowmagnumb

Ho risolto il mio problema. Grazie.
Pedram

OH MIO DIO. Problemi come questo mi fanno chiedere perché Android abbia utilizzato Eclipse in primo luogo. Grazie mille per il tuo suggerimento. Questo ha risolto il mio problema e EGit / Eclipse è stato del tutto inutile con "Auth Fail"
Calyth

16

L'ho risolto selezionando httpcome protocollo e fornendo il mio nome utente e password GitHub.


sì! Contrariamente a tutto quello che ho letto, ma ha funzionato. (Eclipse Indigo)
Owen B

http o https sono molto più semplici di ssh
Junchen Liu

Sì, ma ci sono casi in cui è necessario utilizzare ssh. Come la necessità di autenticazione a due fattori in BitBucket mentre si lavora con i repository. Puoi lavorare su ssh solo quando hai bisogno dell'autenticazione a due fattori.
Akshay Mahajan

10

Dopo aver passato ore a cercare la soluzione a questo problema, ho finalmente trovato l'oro apportando le modifiche menzionate in un forum di Eclipse .

Passaggi:

Prerequisiti: mysysgit è installato con la configurazione predefinita.

1.Crea il file C: /Users/Username/.ssh/config (Sostituisci "Username" con il tuo nome utente di Windows 7 (ad esempio C: /Users/John/.ssh/config)) e inseriscilo:

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

2.Provare a configurare il repository remoto ora in Eclipse.

Saluti. Dovrebbe funzionare perfettamente.


8

Devi installare msysgit, dopo l'installazione devi aprire Git Bash e inserire questi comandi:

$ git config --global user.name "Gennadiy Zlobin" (your name)
$ git config --global user.email gennad.zlobin@gmail.com (your email)
$ ssh-keygen -C "gennad.zlobin@gmail.com" -t rsa (your email)

Ora le chiavi generate sono in C:\Users\username\.ssh(in Windows 7).
Successivamente carichi il contenuto della tua chiave pubblica nel tuo progetto su Github
In Eclipse apri Window->Preferences->General->Network->SSH2e imposta ~/.sshcome SSH Home

Dopodiché vai su Key Management tabe Carica chiave esistente : imposta qui la tua chiave privata ~/.ssh.

Dopodiché puoi eseguire il push del tuo progetto su Github (ma ho impostato il protocollo ssh, non git + ssh).


Grazie mille, ma in realtà lo sto eseguendo sotto Arch Linux
tehsis

5

Ho risolto lo stesso problema aggiungendo la mia chiave a ssh;

ssh-add ~/.ssh/id_rsa 

quindi inserito la passphrase e occorre riavviare.


4

Per gli utenti * nix che utilizzano SSH:

Assicurati che il nome utente per il tuo account sul tuo computer locale non sia diverso dal nome utente per l'account sul server. Apparentemente, eGit non sembra essere in grado di gestirlo. Ad esempio, se il tuo nome utente sulla tua macchina locale è "john" e l'account che stai utilizzando sul server si chiama "git", egit semplicemente non riesce a connettersi (per me comunque). L'unica soluzione che ho trovato è assicurarmi di avere nomi utente identici sia nella macchina locale che nel server.


1
Qualche idea è ancora così? Ho sbattuto la testa contro il muro per questa sera. La mia chiave privata è protetta da una passphrase, che Eclipse / eGit non richiede mai. Quando provo a eseguire il push in remoto, Eclipse emette semplicemente un errore "org.eclipse.jgit.transport.CredentialItem $ StringType Passphrase per .ssh id_rsa"
Vilsepi


2

Il mio quattrenesimo: le mie chiavi SSH sono state impostate in Cygwin, in C: \ cygwin \ home \ <user> .ssh, quindi ho indicato SSH a questa cartella invece che a quella predefinita (Win7) C: \ Users \ <user> \ ssh , secondo queste istruzioni: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

e ha usato il protocollo ssh, e funziona bene. Tuttavia, provare a utilizzare il protocollo git fornisce ancora "Utente non supportato sul protocollo git".


2

Per te che, come me, hai già configurato le tue chiavi ssh ma ricevi comunque gli errori:

Assicurati di aver configurato un telecomando push . Ha funzionato per me quando ho ricevuto entrambi i problemi Impossibile ottenere repository remoto refs ("... Passphrase for ..." e "Auth fail" nella finestra di dialogo "Push ...").

A condizione che tu abbia già:

  1. Configura le tue chiavi SSH con Github (Finestra> Preferenze> Generale> Connessioni di rete> SSH2)

  2. Configura il tuo repository locale (puoi seguire questa guida per questo)

  3. Creato un repository Github ( stessa guida )

... ecco come lo fai:

  • Vai alla vista Repository Git (Finestra> Mostra vista> Altro> Repository Git)
  • Espandi il tuo archivio e fai clic con il pulsante destro del mouse su Telecomandi -> "Crea remoto"
  • "Nome remoto": origine, "Configura push": selezionato -> fai clic su "OK"
  • Fare clic sul pulsante "Modifica ..."
  • Incolla l'URI git e seleziona il protocollo ssh -> fai clic su "Fine"
  • Ora, fai clic su "Salva e invia" e ORA dovresti ricevere una richiesta di password -> inserisci qui la passphrase della chiave pubblica (a condizione di aver DID (e dovresti) impostare una passphrase per la tua chiave pubblica) -> fai clic su "OK"
  • Ora dovresti ottenere una finestra di conferma che dice "Pushed to YourRepository - origin" -> fai clic su "OK"
  • Esegui il push all'upstream , ma questa volta utilizza "Repository remoto configurato" come repository Git di destinazione
  • Vai a prenderti una meritata tazza di caffè!

1

Ho aggiornato il plugin con le build notturne: http://www.eclipse.org/egit/download/

Con un aggiornamento, ha funzionato per me. (Eclipse Helios, Mac OS X)


Non funziona ancora per me :( è stato aggiornato due volte da quando ho pubblicato questo. Potrebbe essere un bug sotto GNU / Linux
tehsis

1

Hai provato a utilizzare il protocollo ssh invece su git + ssh? Ho lo stesso problema e questo lo ha risolto, anche se la documentazione ufficiale dice di usare git + ssh


1

Su Windows, l'impostazione GIT_SSHdi openssh fornita con msys git non funzionava (Eclipse si bloccava durante il commit). Impostarlo su TortoisePlink ha risolto il problema (immagino che anche il plink originale funzionerebbe). Il bonus aggiuntivo è che ora Eclipse utilizza le chiavi memorizzate in pageant.


1

L'ho risolto selezionando https come protocollo e quindi aggiungendo il mio nome utente e password GitHub


1

Nella tua vista GIT in cui hai i tuoi repository vedrai una struttura come:

  • rami
  • tag
  • Riferimenti
  • telecomandi
  • eccetera...

Fare clic sui telecomandi, fare clic con il pulsante destro del mouse sull'URL del repository lì e selezionare "Modifica credenziali".



0

Stavo avendo lo stesso problema che sembra fosse dovuto al problema di configurazione. L'app github mac osx aveva creato una chiave privata ssh chiamata github_rsa

Nel tuo Eclipse vai a Window > Preferences > Network Connections > SSH2

Nella scheda generale dovresti vedere SSH2 home /Users/<you username>/.ssh, probabilmente vedrai id_dsa, id_rsa definiti come chiavi private.

Fai clic su "Aggiungi chiave privata" e seleziona github_rsa /Users/<you username>/.ssh


0

SE HAI UN FILE PEM : In Eclipse vai su Finestra> Preferenze> Connessioni di rete> SSH2 , quindi aggiungi il percorso del tuo file PEM a "Chiavi private" e questo dovrebbe risolvere il problema.


0

Volevo rendere pubblico anche a me una correzione del codice Google e ho ottenuto lo stesso errore. Iniziato con questo video, ma in Salva e pubblica si è verificato un errore. Ho visto che ci sono diverse domande riguardo a questo. Alcuni sono utenti Windows, quelli sono i più fortunati, perché di solito non ci sono problemi con i permessi e alcuni sono utenti Linux.

Ho un Mac per lo sviluppo mobile e molto spesso incontro questi problemi. La fonte di questi problemi sono le soluzioni "indipendenti dalla piattaforma", che non si preoccupano abbastanza del Mac e non hanno accesso al portachiavi, dove sono archiviati i certificati, i file .pem e così via.

Tutto quello che volevo era non effettuare alcuna impostazione di ambiente, né riga di comando, solo semplici clic basati su GUI, come un normale utente.

Metà parte è stata eseguita con il plugin Eclipse Git, la seconda parte (push to Github) è stata eseguita con Mac Github

Bello e facile :)

Tutto può essere fatto con quella app nativa se dovessi iniziare a impararla, ho solo bisogno della sua funzionalità push.

Sperando che possa aiutare un utente Mac una volta.


0

Ho scoperto che se imposto l'autenticazione in due passaggi in GitHub, Eclipse non è in grado di connettersi a GitHub, il che ha senso perché l'autenticazione in due passaggi in GitHub richiede di inserire un numero da un SMS (ed Eclipse non lo farebbe avere queste informazioni).

Se questo è il tuo scenario, potresti considerare di disattivare la tua autenticazione in due passaggi in GitHub e vedere se questo aiuta.


0

Per le chiavi ssh esistenti, penso che sia un bug in Eclipse Juno 3.8.

Cosa ho fatto:

1) Carica la chiave esistente andando su: Finestra> Preferenze> "Cerca ssh"> Scheda Gestione chiavi> Carica chiave esistente> Seleziona la chiave privata che hai già

2) Salvare la chiave facendo clic sul pulsante Salva chiave privata . Chiamiamolo id_dsa_github

3) Ora controlla se la spinta e la trazione funzionano o meno. Dovrebbe essere.

4) Ora nella scheda generale, rimuovi la chiave privata id_dsa_github e aggiungi la tua chiave privata precedente facendo clic sul pulsante Aggiungi chiave privata

Adesso sei a posto. Ci vuole almeno una volta per fare tutte le cose da EGit per registrarsi , immagino.


0

Mi imbatto nello stesso problema.

Ho pensato che avesse qualcosa a che fare con le mie credenziali e l'autenticazione.

Poi finalmente ho capito che l'URI che ho configurato non è una variante HTTP.

Stavo cercando di eseguire il push dell'URI SSH del mio Git con la configurazione HTTP.

Controlla il tuo URL

Prospettiva Git> Telecomandi> Origine> Configura recupero> Cambia> Assicurati che il prtocal sia HTTPS e l'URL sia la versione https .


0

Potrei usare la console per eseguire il push / pull dei repository, ma no in Eclipse. Nel mio caso, eclipse sembra non poter leggere la mia chiave privata SSH, la mia chiave iniziava con:

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

E ho notato che la chiave del mio collega iniziava con:

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

Penso che attualmente eclipse non possa accettare questo nuovo tipo di chiave (OPENSSH PRIVATE KEY).

L'ho risolto: Rigenera la tua chiave ssh usando il comando:

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

Questo userà il vecchio modo per generare la chiave: quindi inizierà con le intestazioni:

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

vedere maggiori informazioni su:

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

Quindi puoi caricare di nuovo la chiave in eclilpse usando Preferenze -> Connessioni di rete -> SSH2, fai clic su "Aggiungi chiave privata" (seleziona ancora la tua chiave privata, anche se vedi già il nome nell'elenco delle chiavi private, perché eclipse deve ricaricalo)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.