Error de "autenticación fallida" con EGit y GitHub

98

Instalé el complemento EGit en Eclipse Helios y estoy tratando de usarlo con mi cuenta de GitHub, pero cuando intento configurarlo, aparece un error de "Error de autenticación".

Había estado buscando en Google, pero no hubo suerte ... Parece ser un problema con mi contraseña, pero que yo sepa EGit está buscando en el lugar correcto ( /home/user/.ssh/id_rsa) y no tengo ningún problema en la conexión por ssho gitcliente de consola.

Algunos blogs dicen que es un problema con el URI y el analizador de Egit, pero todavía no he encontrado una solución.

tesis
fuente
posible duplicado de EGit - SSH falla en la frase
John Conde

Respuestas:

140

Mi respuesta puede estar desactualizada, pero espero que pueda ser útil para alguien.

  1. En su Eclipse, vaya a Ventana> Preferencias> General> Conexiones de red> SSH2 (o simplemente escriba "SSH2" en el cuadro de filtro de la ventana de preferencias).

  2. En la pestaña "Administración de claves", presione el botón "Generar clave RSA ..." . Opcionalmente, puede agregar un comentario (generalmente una dirección de correo electrónico) y una frase de contraseña a su clave. La frase de contraseña se usará durante la autenticación en GitHub.

  3. Copie su clave pública generada (en un cuadro justo debajo del botón "Generar clave RSA ...") y agréguela a su cuenta de GitHub.
  4. Presione el botón "Guardar clave privada ..." para guardar su clave RSA privada en un archivo. Por defecto, las claves se almacenan en el directorio de inicio SSH2 (consulte la pestaña "General").

¡Eso es! Ahora debería poder enviar su código al repositorio de GitHub.

Andrei Petrenko
fuente
1
Mi clave privada no tenía el nombre estándar (id_rsa), por lo que no se reconocía como tal. Lo agregué manualmente, en las ventanas de preferencias señaladas por usted, y funcionó bien.
muriloq
18
Noté que después de configurar la clave SSH como usted describe, no debería cambiar el nombre de usuario / contraseña en el cuadro de autenticación (estaba poniendo mis credenciales de GitHub). El valor predeterminado en este cuadro es nombre de usuario: git y la contraseña está en blanco.
harschware
1
Esto funcionó para mí con un repositorio git de BitBucket, aunque tuve que reiniciar Eclipse.
artlung
8
dejar el nombre de usuario como git y la contraseña en blanco finalmente funcionó para mí.
Mike R
4
Aquí está el proceso para agregar la clave RSA generada a su cuenta de github 1) inicie sesión en su cuenta de github 2) vaya a la configuración 3) en el lado izquierdo encontrará las claves SSH, haga clic en él 4) luego haga clic en agregar claves SSH (ahora pegue la clave SSH que
generaste
27

¡Tuve exactamente el mismo problema, pero encontré la cura en un informe de error de Eclipse!

Una variable de entorno llamada GIT_SSH debe establecerse con una ruta a un ejecutable ssh [1].

Por ejemplo, en Ubuntu Linux (10.10 64bit):

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

Después de eso, los empujes al repositorio de GitHub funcionan como deberían. Probé esto con Eclipse Galileo e Indigo.

El problema es realmente molesto y la solución está lejos de ser agradable. Por ahora, para hacer que la solución sea permanente, al menos para los usuarios de Ubuntu, se debe hacer que la variable env sea permanente. Se puede hacer agregando el comando de exportación a ~ / .profile o ~ / .bashrc [2]. Por ejemplo:

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

Y luego reinicie Eclipse para que surta efecto.

Fuentes:

Akseli Palén
fuente
He estado en este problema toda la semana: Eclipse bajo osx conectándose a GitHub o Asssembla. Tu solución funciona para mí. Gracias.
ianmayo
En Windows, openssh no me funcionó. Tuve que usar plink. Mira mi respuesta.
Piotr Dobrogost
Y se está acercando a una solución lanzada. Al final del informe de error, alguien mostró cómo descargar manualmente el último archivo jar jsch e instalarlo manualmente para que funcione de esa manera. Solo voy a ir con esta solución env var y esperaré a que el archivo jar jsch entre en la versión eclipse real.
Crowmagnumb
Resolvió mi problema. Gracias.
Pedram
DIOS MIO. Problemas como este me hacen preguntarme por qué Android usó Eclipse en primer lugar. Muchas gracias por tu sugerencia. Eso resolvió mi problema, y ​​EGit / Eclipse fue completamente inútil con "Auth Fail"
Calyth
16

Lo resolví seleccionando httpcomo protocolo y dando mi nombre de usuario y contraseña de GitHub.

hari_sree
fuente
¡si! Al contrario de todo lo que he leído, pero funcionó. (Eclipse Indigo)
Owen B
http o https son mucho más simples que ssh
Junchen Liu
Sí, pero hay casos en los que es necesario utilizar ssh. Como necesitar autenticación de dos factores en BitBucket mientras trabaja con repositorios. Solo puede trabajar con ssh cuando necesite autenticación de dos factores.
Akshay Mahajan
10

Después de pasar horas buscando la solución a este problema, finalmente encontré oro al hacer los cambios mencionados en un foro de Eclipse .

Pasos:

Requisitos previos: mysysgit se instala con la configuración predeterminada.

1.Cree el archivo C: /Users/Username/.ssh/config (Reemplace "Username" con su nombre de usuario de Windows 7 (por ejemplo, C: /Users/John/.ssh/config)) y colóquelo en él:

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

2. Intente configurar el repositorio remoto ahora en Eclipse.

Salud. Debería funcionar perfectamente.

Rushal A
fuente
8

Debe instalar msysgit, después de la instalación, debe abrir Git Bash e ingresar allí estos comandos:

$ 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)

Ahora sus claves generadas están en C:\Users\username\.ssh(en Windows 7).
A continuación se carga el contenido de su clave pública a su proyecto en Github
En Eclipse abierta Window->Preferences->General->Network->SSH2y fija su ~/.sshtan SSH Inicio

Después de eso, vaya a Key Management taby cargue la clave existente : configure aquí su clave privada en ~/.ssh.

Después de eso, puede enviar su proyecto a Github (pero configuro el protocolo ssh, no git + ssh).

gennad
fuente
Muchas gracias, pero en realidad lo estoy ejecutando bajo Arch Linux
tehsis
5

Resolví el mismo problema agregando mi clave a ssh;

ssh-add ~/.ssh/id_rsa 

luego ingresó la frase de contraseña y es necesario reiniciar.

volkan
fuente
4

Para usuarios de * nix que usan SSH:

Asegúrese de que el nombre de usuario de su cuenta en su máquina local no difiera del nombre de usuario de la cuenta en el servidor. Aparentemente, eGit no parece ser capaz de manejar esto. Por ejemplo, si su nombre de usuario en su máquina local es 'john', y la cuenta que está usando en el servidor se llama 'git', egit simplemente no se conecta (para mí de todos modos). La única solución que he encontrado es asegurarme de tener nombres de usuario idénticos tanto en la máquina local como en el servidor.

Jeshurun
fuente
1
¿Alguna idea de que este sigue siendo el caso? Me he estado golpeando la cabeza contra la pared esta noche. Mi clave privada está protegida con una frase de contraseña, que Eclipse / eGit nunca solicita. Cuando trato de presionar a control remoto, Eclipse arroja un error "org.eclipse.jgit.transport.CredentialItem $ StringType Passphrase for .ssh id_rsa"
Vilsepi
2

Mis cuatro peniques: mis claves SSH se configuraron en Cygwin, en C: \ cygwin \ home \ <usuario> .ssh, así que apunté SSH a esta carpeta en lugar de la predeterminada (Win7) C: \ Users \ <user> \ ssh , según estas instrucciones: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

y usé el protocolo ssh, y funciona bien. Sin embargo, intentar usar el protocolo git todavía da "Usuario no compatible con el protocolo git".

drkvogel
fuente
2

Para usted que, como yo, ya configuró sus claves ssh pero aún recibe los errores:

Asegúrese de haber configurado un control remoto . Me funcionó cuando obtuve las referencias del repositorio remoto No se pueden obtener -problemas ("... Frase de contraseña para ..." y "Fallo de autenticación" en el cuadro de diálogo "Insertar ...").

Siempre que ya:

  1. Configure sus claves SSH con Github (Ventana> Preferencias> General> Conexiones de red> SSH2)

  2. Configure su repositorio local (puede seguir esta guía para eso)

  3. Creó un repositorio de Github ( misma guía )

... así es como se hace:

  • Ir a la vista Repositorios de Git (Ventana> Mostrar vista> Otro> Repositorios de Git)
  • Expanda su repositorio y haga clic derecho en Remotos -> "Crear Remoto"
  • "Nombre remoto": origen, "Configurar envío": marcado -> haga clic en "Aceptar"
  • Haga clic en el botón "Cambiar ..."
  • Pegue su URI de git y seleccione el protocolo ssh -> haga clic en "Finalizar"
  • Ahora, haga clic en "Guardar y enviar" y AHORA debería recibir una solicitud de contraseña -> ingrese la frase de contraseña de la clave pública aquí (siempre que haya configurado (y debería) una frase de contraseña para su clave pública) -> haga clic en "Aceptar"
  • Ahora debería aparecer una ventana de confirmación que diga " Enviado a YourRepository - origen" -> haga clic en "Aceptar"
  • Empuje hacia arriba , pero esta vez use "Repositorio remoto configurado" como su repositorio de Git de destino
  • ¡Ve a buscar una taza de café bien merecida!
Roger
fuente
1

Actualicé el complemento con las compilaciones nocturnas: http://www.eclipse.org/egit/download/

Con una actualización, funcionó para mí. (Eclipse Helios, Mac OS X)

fbrandel
fuente
Todavía no me está funcionando :( se ha actualizado dos veces desde que
publiqué
1

¿Ha intentado utilizar el protocolo ssh en su lugar en git + ssh? Tengo el mismo problema, y ​​eso lo resolvió, aunque la documentación oficial dice que use git + ssh

Kamisama
fuente
1

En Windows, la configuración GIT_SSHde openssh que viene con msys git no funcionó (Eclipse se colgó durante la confirmación). Establecerlo en TortoisePlink resolvió el problema (supongo que el plink original también funcionaría). La ventaja adicional es que ahora Eclipse usa claves almacenadas en el concurso.

Piotr Dobrogost
fuente
1

Lo resolví seleccionando https como protocolo y luego agregando mi nombre de usuario y contraseña de github

Edén
fuente
1

En su vista GIT donde tiene sus repositorios, verá una estructura como:

  • ramas
  • etiquetas
  • referencias
  • mandos a distancia
  • etc ...

Haga clic en los controles remotos, haga clic con el botón derecho en la URL del repositorio allí y seleccione 'Cambiar credenciales'.

Fico
fuente
0

Estaba teniendo el mismo problema que parece que se debe a un problema de configuración. La aplicación github mac osx había creado una clave privada ssh llamada github_rsa

En tu Eclipse ve a Window > Preferences > Network Connections > SSH2

En la pestaña general debería ver SSH2 home /Users/<you username>/.ssh , probablemente verá id_dsa, id_rsa definidos como claves privadas.

Haga clic en 'Agregar clave privada' y seleccione github_rsa ubicado /Users/<you username>/.ssh

scottyab
fuente
0

SI TIENE UN ARCHIVO PEM : En Eclipse, vaya a Ventana> Preferencias> Conexiones de red> SSH2 , y luego agregue la ruta a su archivo PEM a "Claves privadas" y eso debería resolver el problema.

msamadi
fuente
0

Quería hacer público una vez yo también una corrección de código de Google y obtuve el mismo error. Comenzó con esto video, pero en Guardar y publicar obtuvo un error. He visto que hay varias preguntas con respecto a esto. Algunos son usuarios de Windows, esos son los más afortunados, porque normalmente no hay problemas con los permisos y algunos son usuarios de Linux.

Tengo una mac para uso de desarrollo móvil y muy a menudo encuentro estos problemas. La fuente de estos problemas son las soluciones "independientes de la plataforma", que no se preocupan lo suficiente por mac y no tienen acceso al llavero, donde se almacenan los certificados, archivos .pem, etc.

Todo lo que quería es no realizar ninguna configuración de entorno, ni línea de comandos, solo simples clics basados ​​en GUI, como un usuario normal.

La mitad se realizó con el complemento Eclipse Git, la segunda parte (empujar a Github) se realizó con Mac Github

Bonito y fácil :)

Todo se puede hacer con esa aplicación nativa si empiezo a aprenderla, solo necesito la funcionalidad push de él.

Esperando que ayude a un usuario de mac una vez.


fuente
0

Descubrí que si configuro la autenticación de dos pasos en github, Eclipse no puede conectarse a Github, lo cual tiene sentido porque la autenticación de dos pasos en github requiere que ingrese un número de un SMS (y Eclipse no lo haría) no tengo esta información).

Si este es su escenario, podría considerar desactivar su autenticación de dos pasos en github y ver si eso ayuda.

kevlaria
fuente
0

Para las claves ssh existentes, creo que es un error en Eclipse Juno 3.8.

Lo que hice:

1) Cargue la clave existente yendo a: Ventana> Preferencias> "Buscar ssh"> Pestaña de administración de claves> Cargar clave existente> Seleccione la clave privada que ya tiene

2) Guarde esa clave haciendo clic en el botón Guardar clave privada . Vamos a nombrarlo id_dsa_github

3) Ahora compruebe si empujar y tirar funcionan o no. Debería ser.

4) Ahora en la pestaña general, elimine la clave privada id_dsa_github y agregue su clave privada anterior haciendo clic en el botón Agregar clave privada

Ahora estás listo para irte. Supongo que se necesita al menos una vez para hacer todas las cosas de EGit para registrarse .

soham
fuente
0

Me encuentro con el mismo problema.

Pensé que tenía algo que ver con mis credenciales y autenticación.

Luego, finalmente me di cuenta de que el URI que configuré no es una variante HTTP.

Estaba intentando enviar SSH URI de mi Git con configuración HTTP.

Verifique su URL en

Perspectiva de Git> Remotos> Origen> Configurar Fetch> Cambiar> Asegúrese de que la prtocal sea HTTPS y la URL sea la versión https .

MohanRaj
fuente
0

Podría usar la consola para empujar / tirar de los repositorios, pero no en eclipse. En mi caso, parece que eclipse no puede leer mi clave privada SSH, mi clave comenzó con:

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

Y noté que la clave de mi colega comenzaba con:

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

Creo que actualmente eclipse no puede tomar este nuevo tipo de clave (CLAVE PRIVADA OPENSSH).

Lo resolví: Regenere su clave ssh usando el comando:

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

Esto usará la forma anterior para generar la clave: por lo que comenzará con los encabezados:

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

ver más información sobre:

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

Luego, puede cargar la clave nuevamente en eclilpse usando Preferencias -> Conexiones de red -> SSH2, haga clic en "Agregar clave privada" (aún seleccione su clave privada, incluso si ya ve el nombre en la lista de claves privadas, porque eclipse tiene que vuelva a cargarlo)

Angia
fuente