Estoy usando git bash y configuré la clave ssh usando ssh-keygen y cada vez que hago algo con un repositorio me piden una frase de contraseña /c/Users/jankiewj/.ssh/id_rsa
. ¿Hay alguna manera de desactivar esa frase de contraseña?
Estoy usando git bash y configuré la clave ssh usando ssh-keygen y cada vez que hago algo con un repositorio me piden una frase de contraseña /c/Users/jankiewj/.ssh/id_rsa
. ¿Hay alguna manera de desactivar esa frase de contraseña?
Respuestas:
Puedes ejecutar esto en git bash:
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
pedirá una frase de paso en el segundo comando, y eso es todo. Cada acción adicional que tendrá que hacer (que una vez requirió la frase de paso) no le pedirá la frase de paso (vea un ejemplo en la captura de pantalla a continuación):
.bashrc
así que cada vez que abro git bash recibo el mensaje y para esa sesión estoy listo.
~/.bashrc
luego ingresar las líneas de su publicación y guardarlo, eso es todo :) ¡gracias!
.bashrc
, usaría un script y lo colocaría en el .bash_profile
o .profile
. Aquí hay un fragmento de la parte principal de mi .bash_profile
, debería resolver esto para cualquiera que todavía esté buscando una respuesta; Es similar a una respuesta a continuación. En la parte superior de la secuencia de comandos, cargo mi .bashrc
, que si no corresponde, simplemente lo dejo afuera. Nota: deberá cambiar las referencias a id_rsa
lo que haya denominado su clave SSH privada, y tal vez la ruta.
Una solución ligeramente mejor y permanente es iniciar automáticamente el agente ssh al abrir git bash en windows. Puede copiar / pegar lo siguiente en su .profile o .bashrc. Prefiero ponerlo en el perfil.
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
Esta solución fue tomada de este artículo de ayuda de github
.bashrc
, ¿ en qué se diferencia su solución? En Windows bash, cada shell es independiente, por lo que el agente nunca se ejecuta cuando ejecuta el shell.
.bashrc
. Solicitar la frase de contraseña ssh solo la primera vez. Safed mi vida. Gracias.
ssh-add -D
eliminar todas las claves.
No estoy seguro de si quiero recomendarlo, pero cuando cree la Clave y se le solicite que establezca la contraseña, simplemente presione enter y omita la contraseña.
Eche un vistazo a este enlace para saber cómo usarlo ssh-keygen
:
https://help.github.com/articles/working-with-ssh-key-passphrases/
Quizás te ssh-agent
pueda ayudar de alguna manera. Pero no estoy seguro sin conocer su sistema actual.
mvn release:perform
fase intenta verificar la etiqueta de lanzamiento sin proporcionar la frase de contraseña. Entonces, solo borrar la frase de contraseña resolvió este problema.
Ingrese este comando git en su ubicación de repositorios " ssh-keygen -p " Esto le pedirá que ingrese la ubicación del archivo de claves, la frase de contraseña anterior y la frase de contraseña nueva (que puede dejarse en blanco para que no tenga frase de contraseña). No ingrese nada en la nueva contraseña y eliminará la frase de contraseña