uso github y he agregado y sincronizado archivos en mi computadora portátil con éxito en el pasado.
Recientemente comencé a recibir " PuTTY Fatal Error: Disconnected: No hay métodos de autenticación compatibles disponibles " después de ejecutar:
git pull origin master (o empujar)
sin embargo
ssh [email protected] devuelve la respuesta correcta: ERROR: ¡Hola, nombre de usuario! Se ha autenticado correctamente, pero GitHub no proporciona acceso de shell. Conexión a github.com cerrada.
después de buscar en github, encontré este morcel:
No hay métodos de autenticación compatibles disponibles . Debe tener en cuenta la variable de entorno GIT_SSH, que git utiliza para encontrar su cliente que habla ssh, si ssh no funciona para usted. La instalación de git puede estar usando plink.exe (a través de GIT_SSH) para realizar la autenticación. Si es así, asegúrese de tener pageant.exe ejecutándose y de tener cargada la clave que creó para github. Esto proporciona la clave para plink.exe; sin él, se producirá el error anterior.
no estoy seguro de qué es plink.exe o peagant.exe ... y el hecho de que ssh [email protected] parece autenticarse correctamente me hace preguntarme cuál es la mejor solución aquí ... Ciertamente no quiero complicar demasiado mi configuración si no necesario.
GIT_SSH
hacerlo.bash_profile
y no.profile
GIT_SSH="D:\Program Files\Git\usr\bin\ssh.exe"
Usando TortoiseGit
TortoiseGit> Configuración ... Red ... Cliente SSH:
C:\Program Files\Git\usr\bin\ssh.exe
La ubicación puede variar. En una computadora estaba en
C:\Program Files (x86)\Git\bin\ssh.exe
fuente
Ya que preguntas: plink & pageant son parte de la suite PuTTY, que es una implementación de SSH que es compatible con Linux y Windows y es completamente dominante en Windows.
SSH
si alguna vez usó Telnet, es así (pero más seguro): le permite acceder de forma remota al shell bash (línea de comando) de un host Linux.
Masilla
En Windows, es el software dominante para acceder de forma remota a la línea de comandos de un host Linux bajo el protocolo SSH (arriba). En Windows, las extensiones .exe son para ejecutables. Entonces, esas notas sobre plink.exe y pageant.exe probablemente no se apliquen si está en Linux . PuTTY incluye
De ( http://en.wikipedia.org/wiki/Secure_Shell#Key_management )
Entonces, github está alojado en una máquina Linux y usa SSH para asegurar la conexión. SSH se autentica con contraseñas o claves, muchos hosts (¿github?) Solo se autentican con claves. Aparentemente, la configuración está tratando de autenticarse con una clave. Las claves y los hosts no son uno por uno: puede tener dos claves para el mismo host y / o dos hosts para la misma clave, por lo que deben administrarse. Si está en Windows, entonces probablemente se accede a su sesión SSH a través de plink y sus claves probablemente sean administradas por Pageant.
Importe la clave que necesita cada vez que cargue Pageant. Si siguió las guías que decían "importe su clave" y vio que funcionaba, pero no funciona ahora, consulte el Capítulo 9: Uso de Pageant para la autenticación .
Un último consejo si está en Windows: puede tener varias instancias de la suite PuTTY instaladas por varias herramientas. TortoiseGit, por ejemplo, instala el suyo propio.
fuente
Experimenté este problema porque
GIT_SSH
estaba apuntando a la versión TortoiseSVN dePlink.exe
. Lo cambié para que apunte a la versión de TortoiseGit, reinicié cmd y funcionó.No puedo recordar exactamente, pero la versión de TortoiseSVN podría haber sido la versión de 32 bits y la versión de TortoiseGit era de 64 bits (ubicada en
Program Files
, noProgram Files (x86)
).Vuelva a verificar su
GIT_SSH
env var.Prefiero usar git con normal
cmd.exe
(en Console2 por supuesto)fuente
Para usuarios de TortoiseGit en Windows
Originalmente, solía configurar la mayoría de mis repositorios de Github / Bitbucket utilizando las URL del repositorio SSH, ya que (originalmente) solía ser la única forma conveniente de evitar que TortoiseGit solicitara su contraseña en cada acción.
Pero configurar TortoiseGit de esta manera siempre fue tremendamente doloroso. Cada vez me tomó horas configurarlo correctamente, ya que las opciones de instalación predeterminadas nunca parecían funcionar (incluso a partir de 2016, ¡sheesh!).
Pero TortoiseGit ahora tiene una mejor administración de contraseñas para HTTPS, y Github realmente recomienda usar URL HTTPS siempre que sea posible.
Los beneficios de HTTPS son:
pageant.exe
ejecute constantemente (lo que solicita su contraseña en cada lanzamiento)fuente
Si está utilizando Pageant y recibe el error descrito en la pregunta después de reiniciar su PC (o de cerrar y volver a abrir Pageant):
El error puede deberse a que Pageant no tiene cargada activamente su clave SSH de GitHub. De forma predeterminada, Pageant NO carga automáticamente las claves de la sesión anterior cuando se inicia.
Para cargar la clave:
Para evitar este problema en el futuro, puede configurar Pageant para que cargue automáticamente su clave cuando se inicie. (Pageant le pedirá automáticamente una contraseña si su clave está protegida con contraseña).
Pasos para hacer esto (asumiendo que ya tiene Pageant configurado para ejecutarse cuando se inicia Windows):
shell:startup
)Referencia y detalles completos: http://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html
fuente
Mi problema fue que estaba intentando usar mi nombre de usuario de github. Aparentemente, cuando usa Github (¿o es algo de Git?) , Si usa autenticación basada en claves, debe configurar su nombre de usuario en
git
.No estoy seguro de por qué necesita un nombre de usuario, tal vez alguien con más conocimientos pueda explicarlo.
fuente
ssh://[email protected]/myname/repo.git
funcionará muy bien. Buen trabajo. En cuanto a por qué, supongo que es para bloquear la seguridad. El usuario 'git' tiene su inicio de sesión deshabilitado, por lo que nadie puede ingresar al sistema de esa manera. Deben tener una clave válida para incluso hablar con Github, y una vez que tienen una clave válida, puedenEn mi máquina con Windows 7 que ejecuta Github para Windows usando git versión 1.8.3.msysgit.0. Descubrí que actualizar la variable de entorno de mi sistema GIT_SSH a C: \ Archivos de programa (x86) \ Git \ bin \ ssh.exe parecía funcionar. Esto también solucionó mi problema al contactar con el repositorio git de OpenShift.
fuente
Me funcionó en Windows 8: la variable GIT_SSH apuntaba a plink.exe, la modificó en la configuración del sistema para apuntar al binario ssh, y eso solucionó el problema. Para averiguar la ruta completa al ssh, ejecute:
fuente
Para resolver este problema, esto fue lo que hice.
Estaba usando Git Bash en Windows 10
Comencé Pageant, presioné la tecla Agregar,
navegué a la carpeta C: \ Users \ username \ .ssh y elegí mi clave
Luego intento hacer un git push y esta vez funcionó.
fuente
El mismo error, una solución diferente indicada aquí: problema para conectarse a GitHub en Windows, incluso a través de PuTTY
fuente
Encontré este mismo problema, sin embargo, la solución GIT_SSH pareció funcionar una vez para mí. Después de reiniciar la computadora, me di cuenta de que era otra cosa, ya que pude clonar mis repositorios privados sin problemas usando Git Bash o Command Prompt, pero no en Sublime Text 3 con el complemento SublimeGit. Mi solución fue simple y en realidad es lo que @BlueRaja - Danny Pflughoeft mencionó, pero pensé que podría usar alguna dirección;)
Básicamente, solo necesita editar
~/.ssh/config
y asegurarse de que el nombre de usuario seagit
. También puede decirle que use una clave SSH específica para Github: mi~/.ssh/config
archivo se ve así:Tengo una clave específica para Github debido a la cantidad de otras cosas que hago a lo largo del día, pero si solo tienes una, generalmente será
~/.ssh/id_rsa.pub
como explica Github aquí. .Sé que todos tienen una solución diferente, pero dejaré esto aquí para cualquiera que pueda encontrar este artículo sin una solución. ¡Buena suerte!
fuente
Recibí este error al usar TortoiseGit para clonar un repositorio de GitHub. Se corrigió haciendo clic en "Cargar clave de masilla" y seleccionando un archivo de clave (* .pkk) en el diálogo de clonación de Git.
fuente
Puede obtener plink & pageant desde aquí: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Son herramientas PuTTY.
fuente
Tuve este problema (direct ssh funcionó, pero git pull falló) debido a que mi control remoto git no era lo que pensaba.
Sí, sí, sé que es un error estúpido, pero sucede y vale la pena comprobarlo.
Utilizar
git remote -v
fuente
Tuve un problema similar después de actualizar GitExtensions a la versión 3.3.0.7719
De alguna manera revirtió mi configuración de autenticación para usar PuTTY en lugar de OpenSSH.
En esa versión, aquí está el menú que usé para habilitar OpenSSH nuevamente:
fuente