Saltar al contenido

Por qué git no puede recordar mi contraseña en Windows

Posterior a de una prolongada búsqueda de datos pudimos resolver esta dificultad que pueden tener muchos los lectores. Te dejamos la solución y nuestro objetivo es serte de mucha apoyo.

Solución:

Me doy cuenta de que esta pregunta surge en dos años, pero tuve el mismo problema y varias respuestas aquí no me respondieron completamente. Aquí hay dos soluciones paso a paso, dependiendo de si usa TortoiseGit además de msysgit o no.

Primera solucion Asume Windows, msysgit y PuTTY.

  1. Instale msysgit y PuTTY como se indica.
  2. (Opcional) Agregue PuTTY a su ruta. (Si no hace esto, cualquier referencia a los comandos PuTTY a continuación debe ir precedida de la ruta completa al ejecutable correspondiente).
  3. Si aún no lo ha hecho, genere un key hash según las instrucciones de GitHub o según las instrucciones de su host de Git.
  4. Nuevamente, si aún no lo ha hecho, convierta su key para usar con pageant.exe de PuTTY usando puttygen.exe. Las instrucciones se encuentran en la documentación de PuTTY, en esta guía útil y en varios otros lugares del ciberespacio.
  5. Ejecute PuTTY’s pageant.exe, abra su archivo .ppk (“Agregar clave”) y proporcione su frase de contraseña para su key.
  6. Acceda al cuadro de diálogo de variables de entorno de Windows (haga clic con el botón derecho en “Equipo”, haga clic en “Propiedades”, haga clic en “Configuración avanzada del sistema” o en la pestaña “Avanzado”, haga clic en “Variables de entorno”). Agregue la siguiente variable de entorno:

    GIT_SSH = C: ruta completa a plink.exe

    Reemplace “C: full path to” con la ruta de instalación completa a PuTTY, donde se encuentra plink.exe. Probablemente sea mejor agregarlo a la sección “Variables de usuario”. Además, asegúrese de que la ruta que usa para plink.exe coincida con la ruta que usa para Pageant (pageant.exe). En algunos casos, es posible que tenga varias instalaciones de PuTTY porque podría instalarse junto con otras aplicaciones. Es probable que el uso de plink.exe de una instalación y pageant.exe de otra le cause problemas.

  7. Abra un símbolo del sistema.

  8. Si está intentando conectarse a un repositorio de git alojado en Github.com, ejecute el siguiente comando:

    plink.exe [email protected]

    Si el repositorio de git al que está intentando conectarse está alojado en otro lugar, reemplace [email protected] con un nombre de usuario y una URL adecuados. (Suponiendo Github) Se le debe informar que el host del servidor key no está almacenado en caché y se le pregunta si confía en él. Responde con un y. Esto agregará el host del servidor key a la lista de hosts conocidos de PuTTY. Sin este paso, los comandos de git no funcionarán correctamente. Después de presionar Enter, Github le informa que Github no proporciona acceso de shell. Está bien … no lo necesitamos. (Si se está conectando a otro host y le da acceso de shell, probablemente sea mejor terminar el enlace sin hacer nada más).

  9. ¡Todo listo! Los comandos de Git ahora deberían funcionar desde la línea de comandos. Es posible que desee que pageant.exe cargue su archivo .ppk automáticamente en el momento del arranque, dependiendo de la frecuencia con la que lo necesite.

Segunda solucion Asume Windows, msysgit y TortoiseGit.

TortoiseGit viene con ejecutables PuTTY y una versión especialmente modificada de plink (llamada TortoisePlink.exe) que facilitará las cosas.

  1. Instale msysgit y TortoiseGit como se indica.
  2. Si aún no lo ha hecho, genere un key hash según las instrucciones de GitHub o según las instrucciones de su host de Git.
  3. Nuevamente, si aún no lo ha hecho, convierta su key para usar con pageant.exe de TortoiseGit usando TortoiseGit’s puttygen.exe. Las instrucciones se encuentran en la documentación de PuTTY, en la guía útil vinculada a la primera solución y en varios otros lugares del ciberespacio.
  4. Ejecute TortoiseGit’s pageant.exe, abra su archivo .ppk (“Agregar clave”) y proporcione su frase de contraseña para su key.
  5. Acceda al cuadro de diálogo de variables de entorno de Windows (haga clic con el botón derecho en “Equipo”, haga clic en “Propiedades”, haga clic en “Configuración avanzada del sistema” o en la pestaña “Avanzado”, haga clic en “Variables de entorno”). Agregue la siguiente variable de entorno:

    GIT_SSH = C: ruta completa a TortoisePlink.exe

    Reemplace “C: full path to” con la ruta de instalación completa a TortoiseGit, donde se encuentra TortoisePlink.exe. Probablemente sea mejor agregarlo a la sección “Variables de usuario”. Además, asegúrese de que la ruta que usa para TortoisePlink.exe coincida con la ruta que usa para Pageant (pageant.exe). En algunos casos, es posible que tenga varias instalaciones de PuTTY porque podría instalarse junto con otras aplicaciones. Es probable que el uso de TortoisePlink.exe de la instalación de TortoiseGit y pageant.exe de otra instalación de una aplicación diferente (o de una instalación de PuTTY independiente) le cause problemas.

  6. ¡Todo listo! Los comandos de Git ahora deberían funcionar desde la línea de comandos. La primera vez que intente conectarse a su repositorio de git, probablemente se le informará que el host del servidor key no está almacenado en caché y le pregunta si confía en el servidor. Haga clic en “Sí”. (Esto es TortoisePlink.exe en acción).

    Es posible que desee que pageant.exe cargue su archivo .ppk automáticamente en el momento del arranque, dependiendo de la frecuencia con la que lo necesite.

Tercera solucion Asume Windows, msysgit y el símbolo del sistema nativo.

  1. Instalar msysgit
  2. Asegúrese de permitir que git se use en el símbolo del sistema de MS-DOS
  3. Correr start-ssh-agent
  4. Ingrese contraseñas SSH
  5. ¡Todo listo! Los comandos de Git ahora deberían funcionar en el símbolo del sistema nativo.

Cada vez que configuro un nuevo escritorio, olvido estas instrucciones, por lo que agrego otra respuesta aquí, ya que me la encuentro con la misma frecuencia.


Pasos rápidos para usuarios impacientes como yo

  1. Habilite el OpenSSH Authentication Agent servicio y hacer que se inicie automáticamente.
  2. Agrega tu SSH key al agente con ssh-add en la línea de comando.
  3. Prueba la integración de git, si aún te pide tu contraseña, continúa.
  4. Agregar la variable de entorno $ENV:GIT_SSH=C:WindowsSystem32OpenSSHssh.exe a su sesión, o permanentemente a su entorno de usuario.

Pasos detallados: descripción general

Windows se ha estado enviando con OpenSSH desde hace algún tiempo. Incluye todos los bits necesarios para que ssh funcione junto con Git, pero todavía parece necesitar un poco de TLC antes de que funcione al 100% sin problemas. Estos son los pasos que he seguido con éxito a partir de la versión 10.0.18362.449 de Windows (puede ver su versión de Windows 10 abriendo un shell cmd.exe y escribiendo ver).

Asumo aquí que ya tienes tu SSH key setup, y se encuentra en ~/.ssh/id_rsa

Habilite el servicio ssh-agent en su caja de Windows 10.

  1. Inicio-> Escriba ‘Servicios’ y haga clic en la aplicación Servicios que aparece.
  2. Encuentra el OpenSSH Authentication Agent servicio en la lista.
  3. Haga clic derecho en el OpenSSH Authentication Agent servicio y elija ‘Propiedades’.
  4. Cambiar el Startup type: para Automatic.
  5. Haga clic en el Start para cambiar el estado del servicio a Running.
  6. Descarte el cuadro de diálogo haciendo clic en OKy cierre la aplicación Servicios.

Agrega tu key al ssh-agent

  1. Abre tu caparazón de preferencia (Usaré Windows Powershell en este ejemplo, también se aplica a Powershell Core).
  2. Agrega tu SSH key al ssh-agent: ssh-add(puede agregar la ruta a su key como primer argumento si difiere del predeterminado).
  3. Ingrese su contraseña si / cuando se le solicite.

Prueba Git + SSH

  1. Abre tu caparazón (de nuevo, estoy usando Powershell) y clonar un repositorio. git clone [email protected]:octocat/Spoon-Knife
  2. Si ve este mensaje, continúe con la siguiente sección:
Enter passphrase for key '/c/Users/your_user_name/.ssh/id_rsa':

Establecer su GIT_SSH Variable ambiental

En cualquier sesión, simplemente puede configurar esta variable de entorno y la solicitud de su frase de contraseña dejará de aparecer y ssh usará la ssh-agent en su nombre. Alternativamente, puede establecer su frase de contraseña en el entorno de su usuario de forma permanente.

Para configurar GIT_SSH solo en el shell actual:

  1. Abra su caparazón de preferencia. (Powershell para mí)
  2. Establezca la variable de entorno GIT_SSH en el apropiado ssh.exe: $Env:GIT_SSH=$((Get-Command -Name ssh).Source)
  3. Vuelva a intentar los pasos en Prueba Git + SSH encima.

Para configurar GIT_SSH permanentemente

  1. Abra el Explorador de archivos. Inicio-> escriba ‘Explorador de archivos’ y haga clic en él en la lista.
  2. Haga clic derecho en ‘Esta PC’ y haga clic en ‘Propiedades’.
  3. Haga clic en ‘Configuración avanzada del sistema’.
  4. Haga clic en el botón ‘Variables de entorno …’.
  5. En ‘Variables de usuario para your_user_name’, haga clic en Nuevo …
  6. Colocar Variable name: campo a GIT_SSH
  7. Selecciona el Variable value: campo a ruta a ssh.exe (normalmente C:WindowsSystem32OpenSSHssh.exe).
  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Nueva variable de usuario.
  9. Haga clic en Aceptar para cerrar el cuadro de diálogo Variables de entorno.
  10. Vuelva a intentar los pasos en Prueba Git + SSH encima.

Tenga en cuenta que es probable que esto cambie con nuevos pasos / procedimientos a medida que avance Windows 10 y a medida que aprenda más. Intentaré mantener esto actualizado, espero recibir comentarios en los comentarios.

En caso de que esté usando Git bash debajo Ventanas puede realizar lo siguiente:

eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa

pedirá una frase de contraseña en el segundo comando, y eso es todo. Cada acción adicional que deberá realizar (que una vez requirió una frase de contraseña) no le pedirá la frase de contraseña (vea un ejemplo en la captura de pantalla a continuación):

agregar una frase de contraseña en Git bash en Windows

Si te sientes suscitado, tienes la habilidad dejar un enunciado acerca de qué te ha impresionado de este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *