mac generate create linux git github

linux - generate - Git me sigue pidiendo la contraseña de mi clave ssh



git ssh windows (11)

Estoy usando Linux y creé las claves como se indica en el tutorial de github, las registré con github y traté de usar ssh-agent de manera explícita. Sin embargo, git sigue preguntándome mi contraseña cada vez que intento hacer un pull o un push.

¿Qué podría ser la causa?


Esto me ha estado sucediendo después de reiniciar desde la actualización de OS X El Capitan (10.11) a macOS Sierra (10.12). La solución ssh-add funcionó temporalmente pero no persistiría en otro reinicio.

La solución permanente fue editar (o crear) ~/.ssh/config y habilitar la opción UseKeychain .

Host * UseKeychain yes

Relacionado: macOS sigue preguntando mi frase de contraseña ssh desde que actualicé a Sierra


Intenta agregar esto a tu ~ / .ssh / config :

Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa

... asumiendo que su clave privada se llama id_rsa


Intentaría lo siguiente:

  1. Iniciar GitBash
  2. Edite su archivo ~/.bashrc
  3. Añade 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

Intento diferentes soluciones pero nada ayuda. Pero estos pasos (el entorno de Mi GitBash SSH siempre me pide mi frase de contraseña, ¿qué puedo hacer? ) Desde Bitbucket.com las costuras funcionan bien:

La idea es:

  1. creas el archivo ~/.bashrc

  2. agregar el siguiente script:

    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

  3. volver a ejecutar Bash



Para evitar que git solicite una contraseña una vez que haya generado y configurado las claves ssh, no use https, en su lugar use:

[email protected]:<repo_owner>/<reponame>.git

o

ssh://[email protected]/<repo_owner>/<reponame>.git


Parece que puede estar teniendo problemas con el agente SSH. Intentaría solucionarlo.

1) ¿Hizo ssh-add para agregar su clave a SSH?

2) ¿Está cerrando la ventana del terminal entre usos, porque si cierra la ventana tendrá que volver a ingresar la contraseña cuando la vuelva a abrir?


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

Actualización: si está utilizando macOS Sierra, es probable que deba realizar otro paso, ya que lo anterior podría no funcionar. Agregue lo siguiente a su ~/.ssh/config :

Host * UseKeychain yes


Si las soluciones anteriores no funcionan para mí, una cosa que hay que verificar es que también tiene la clave pública (por lo general, id_rsa.pub ). Es raro no hacerlo, pero esa fue la causa para mí.

Para crear su clave pública a partir de su clave privada:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub


Tuve un problema similar, pero las otras respuestas no solucionaron mi problema. Pensé en seguir adelante y publicar esto solo en caso de que alguien más tuviera una configuración desquiciada como yo.

Resulta que tenía varias teclas y Git estaba usando la incorrecta primero. Me pediría mi frase de contraseña, y yo la ingresaría, luego Git usaría una clave diferente que funcionaría (en la que no necesitaba ingresar la frase de contraseña).

¡Acabo de eliminar la clave que estaba usando para pedirme una frase de contraseña y ahora funciona!


Una vez que haya iniciado el agente SSH con:

eval $(ssh-agent)

  1. Tienes que añadir tu clave privada:

    ssh-add

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

  2. Para guardar la clave de forma permanente:

    ssh-add -K

    Esto lo persistirá después de que lo cierre y lo vuelva a abrir almacenándolo en el llavero del usuario.