Git sigue pidiéndome mi contraseña de clave ssh

Resuelto Rogach asked hace 12 años • 25 respuestas

Creé claves como se indica en el tutorial de github, las registré en github e intenté usar ssh-agent explícitamente; sin embargo, git continúa pidiéndome mi contraseña cada vez que intento hacer un pull o un push.

¿Qué podría ser la causa?

Rogach avatar Apr 05 '12 23:04 Rogach
Aceptado

Una vez que haya iniciado el agente SSH con:

eval $(ssh-agent)

Haz lo siguiente:

  1. Para agregarle su clave privada:

     ssh-add
    

    Esto le pedirá su contraseña solo una vez y luego se le permitirá presionar, siempre que haya cargado la clave pública en Github.

  2. Para agregar y guardar su clave permanentemente en macOS :

     ssh-add -K  
    

    Esto persistirá después de cerrarlo y volver a abrirlo almacenándolo en el llavero del usuario.

    Si ve una advertencia sobre deprecatedbanderas, pruebe la nueva variante:

     ssh-add --apple-use-keychain 
    
  3. Para agregar y guardar su clave permanentemente en Ubuntu (o equivalente):

      ssh-add ~/.ssh/id_rsa
    
Roberto Bonvallet avatar Apr 05 '2012 16:04 Roberto Bonvallet

Esto me ha estado sucediendo después de reiniciar desde que actualicé de OS X El Capitan (10.11) a macOS Sierra (10.12). La ssh-addsolución funcionó temporalmente pero no persistió durante otro reinicio.

La solución permanente fue editar (o crear) ~/.ssh/configy habilitar la UseKeychainopción.

Host *
    UseKeychain yes

Relacionado: macOS sigue pidiendo mi contraseña ssh desde que actualicé a Sierra

Kyle Clegg avatar Jan 10 '2017 18:01 Kyle Clegg

Si lo ha intentado ssh-addy todavía se le solicita que ingrese su frase de contraseña, intente usar ssh-add -K. Esto agrega su frase de contraseña a su llavero.

Actualización: si estás usando macOS Sierra, es probable que tengas que realizar otro paso, ya que es posible que lo anterior ya no funcione. Agregue lo siguiente a su ~/.ssh/config:

Host *
  UseKeychain yes
Darryl Young avatar Dec 19 '2016 10:12 Darryl Young

Yo probaría lo siguiente:

  1. Iniciar GitBash
  2. Edita tu ~/.bashrcarchivo
  3. Agregue las siguientes líneas al archivo.

SSH_ENV=$HOME/.ssh/environment

# start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."
    # spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
    echo succeeded
    chmod 600 ${SSH_ENV}
    . ${SSH_ENV} > /dev/null
    /usr/bin/ssh-add
}

if [ -f "${SSH_ENV}" ]; then
     . ${SSH_ENV} > /dev/null
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi
  1. Guarde y cierre el archivo
  2. Cerrar GitBash
  3. Reabrir GitBash
  4. Ingrese su contraseña
Roland avatar Oct 01 '2013 07:10 Roland