Pregunta

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

Una forma que se me ocurre es eliminar mis claves SSH y crear nuevas.¿Hay alguna forma de eliminar la frase de contraseña y seguir manteniendo las mismas claves?

¿Fue útil?

Solución

Respuesta corta:

$ ssh-keygen -p

Luego, 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, normalmente se registrarán en su ~/.bash_history archivo (o similar) en texto plano que incluye todos los argumentos proporcionados (es decir,las frases de contraseña en este caso).Por lo tanto, se recomienda utilizar la primera opción a menos que tenga un motivo específico para hacerlo de otra manera.Sin embargo, tenga en cuenta que todavía puede usar -f keyfile sin tener que especificar -P ni -N, y que el archivo de claves por defecto es ~/.ssh/id_rsa, por lo que en muchos casos ni siquiera es necesario.

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 admiten el protocolo utilizado por ssh-agent.

Otros consejos

Es posible que desee agregar lo siguiente a su .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) puedes usar:

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

Esto copiará la identificación generada a una máquina remota y la agregará al llavero remoto.

Puedes leer más aquí y aquí.

$ ssh-keygen -p trabajó para mi

Se abrió git bash.Pegado: $ ssh-keygen -p

Pulsa Intro para ver la ubicación predeterminada.

Ingrese la contraseña anterior

Ingrese una nueva contraseña: EN BLANCO

Confirmar nueva contraseña: EN BLANCO

BOOM, el dolor de ingresar una frase de contraseña para git push desapareció.

¡Gracias!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top