¿Cómo elimino la contraseña de la clave SSH sin tener que crear una nueva clave?

Establecí una frase de contraseña al crear una nueva clave SSH en mi computadora portátil. Pero, como me doy cuenta ahora, esto es bastante doloroso cuando intentas comprometer ( Git y SVN ) a una ubicación remota a través de SSH muchas veces en una hora.

Una forma en que puedo pensar es borrar mis claves SSH y crear nuevas. ¿Hay alguna manera de eliminar la frase de contraseña, manteniendo las mismas claves?

Respuesta corta:

$ ssh-keygen -p 

Esto le pedirá que ingrese la ubicación del archivo de claves, la frase de contraseña anterior y la nueva frase de contraseña (que puede dejarse en blanco para no tener frase de contraseña).

Si desea hacerlo todo en una línea sin indicaciones, haga lo siguiente:

 $ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] 

Importante: Tenga en cuenta que al ejecutar comandos, generalmente se registrarán en su archivo ~/.bash_history (o similar) en texto sin formato, incluidos todos los argumentos proporcionados (es decir, las frases de contraseña en este caso). Por lo tanto, se recomienda que use la primera opción a menos que tenga una razón específica para hacerlo de otra manera.

Es posible que desee considerar el uso de ssh-agent, que puede almacenar en caché la frase de contraseña por un tiempo. Las últimas versiones de gpg-agent también son compatibles con el protocolo utilizado por ssh-agent.

Es posible que desee agregar lo siguiente a .bash_profile (o equivalente), que inicia ssh-agent al iniciar sesión.

 if [ -f ~/.agent.env ] ; then . ~/.agent.env > /dev/null if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then echo "Stale agent file found. Spawning new agent… " eval `ssh-agent | tee ~/.agent.env` ssh-add fi else echo "Starting ssh-agent" eval `ssh-agent | tee ~/.agent.env` ssh-add fi 

En algunas distribuciones de Linux (Ubuntu, Debian) puede usar:

 ssh-copy-id -i ~/.ssh/id_dsa.pub username@host 

Esto copiará el id. Generado en una máquina remota y lo agregará al llavero remoto.

Puedes leer más aquí y aquí .

$ ssh-keygen -p trabajado para mí

Abierto git bash. Pegado: $ ssh-keygen -p

Presiona ingresar para la ubicación predeterminada.

Ingrese la frase de contraseña anterior

Ingrese una nueva frase de contraseña: BLANK

Confirmar nueva frase de contraseña: BLANK

BOOM el dolor de entrar en la frase de contraseña para git push había desaparecido.

¡Gracias!