es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Solicitado por la passphrase de SSH después de cada push/pull

Ya hice esta pregunta en DevOps stackexchange porque pensé que sería más apropiado allí, sin embargo han pasado unos días y no obtuve respuesta, así que recurro a preguntar aquí.

Estoy experimentando con una cuenta personal de GitLab para familiarizarme con sus detalles. Primero, seguí este tutorial sobre cómo configurar claves ssh y agregué claves ED25519 públicas y privadas a ~\.ssh. Agregué la clave pública a mi cuenta de GitLab. Luego, usando la interfaz de línea de comandos glab, pude configurar un repositorio al que podía hacer push y pull utilizando git.

Desafortunadamente, git aún me solicita mi frase de pasaporte de SSH cada vez que intento hacer push al repositorio. Intenté lo siguiente:

Las entradas de hosts conocidos no tuvieron ningún efecto notable en este comportamiento. Verificar que pude conectarme arrojó el siguiente error:

ssh: Could not resolve hostname https://gitlab.com/my_username

¿Por qué git me está pidiendo que proporcione mi frase de pasaporte cada vez que hago push y cómo puedo solucionarlo de una vez por todas?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución para Git que solicita la frase de contraseña SSH cada vez

    Si ha agregado sus claves SSH a GitLab y aún así se le solicita una frase de contraseña cada vez que envía una instantánea a un repositorio, hay algunos pasos que puede seguir para solucionar este problema:

    1. Asegúrese de haber agregado su clave SSH a ssh-agent. Puede verificarlo ejecutando el siguiente comando en su terminal:
      ssh-add -l
      

      Si su clave no aparece en la lista, puede agregarla mediante el siguiente comando:

      ssh-add ~/.ssh/id_ed25519
      

      Reemplace id_ed25519 por el nombre de su archivo de clave privada SSH si es diferente.

    2. Verifique que su ssh-agent esté ejecutándose. Puede hacerlo ejecutando:

      eval $(ssh-agent -s)
      

      Esto debería iniciar su ssh-agent y mostrar su ID de proceso.

    3. Asegúrese de que su cuenta de GitLab tenga la clave pública correcta. Puede verificar esto yendo a la configuración de su cuenta de GitLab y navegando hasta la sección “Claves SSH”. Verifique que la clave que aparece allí coincida con el contenido de su archivo ~/.ssh/id_ed25519.pub.

    4. Verifique la configuración global de Git para asegurarse de que user.email y user.name estén configurados correctamente. Ejecute los siguientes comandos:

      git config --global user.email "tu_correo@ejemplo.com"
      git config --global user.name "Tu Nombre"
      

    5. Asegúrese de que la URL de su repositorio Git remoto use el protocolo SSH. Puede verificar esto ejecutando:
      git remote -v
      

      Si la URL de su repositorio comienza con https://` en lugar degit@`, puede cambiarla mediante el siguiente comando:

      git remote set-url origin git@gitlab.com:tu_nombre_de_usuario/tu_repositorio.git
      

      Reemplace tu_nombre_de_usuario y tu_repositorio por los nombres de su cuenta y repositorio de GitLab.

    Una vez que haya completado estos pasos, intente enviar una instantánea a su repositorio de GitLab nuevamente para verificar que ya no se solicite la frase de contraseña SSH.

Comments are closed.