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 intenta comprometerse ( Git y SVN ) a una ubicación remota a través de SSH muchas veces en una hora.
Una forma de pensar es eliminar mis claves SSH y crear nuevas. ¿Hay alguna forma de eliminar la frase de contraseña, manteniendo las mismas claves?
Respuestas:
Respuesta corta:
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).
Si desea hacerlo todo en una línea sin indicaciones, haga lo siguiente:
Importante: Tenga en cuenta que al ejecutar comandos, generalmente se registrarán en su
~/.bash_history
archivo (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 hacer lo contrario.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 está predeterminado~/.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 durante un tiempo. Las últimas versiones de gpg-agent también admiten el protocolo que utiliza ssh-agent.
fuente
ssh-keygen -p
en una terminal. Luego le pedirá un archivo de clave (por defecto para mí el archivo correcto~/.ssh/id_rsa
), la frase de contraseña anterior (ingrese lo que tiene ahora) y la nueva frase de contraseña (ingrese nada).ssh-keygen -p -P oldpassphrase -N "" -f ~/.ssh/id_rsa
~/.bash_history
. Es mejor escribir:$ cd ~/.ssh && ssh-keygen -f id_dsa -p
~/.bash_hstory
Ie. use `ssh-keygen -p -P oldpassphrase -N" "-f ~ / .ssh / id_rsa` y estará bien (a menos que tenga otro keylogger allí). También podría deshacerse del registro de la historia ...$ ssh-keygen -p
trabajó para miAbierto git bash. Pegado:
$ ssh-keygen -p
Presiona enter para la ubicación predeterminada.
Ingrese la frase de contraseña anterior
Ingrese una nueva frase de contraseña - EN BLANCO
Confirmar nueva frase de contraseña - EN BLANCO
BOOM, el dolor de ingresar la frase de contraseña para el git push desapareció.
¡Gracias!
fuente
$ ssh-keygen -p
y su clave no está en la ubicación predeterminada, diga (/Users/yourname/.ssh/id_rsa), puede responder/Users/yourname/.ssh/yourkey
Es posible que desee agregar lo siguiente a su .bash_profile (o equivalente), que inicia ssh-agent al iniciar sesión.
En algunas distribuciones de Linux (Ubuntu, Debian) puede usar:
Esto copiará la identificación generada en una máquina remota y la agregará al llavero remoto.
Puedes leer más aquí y aquí .
fuente
Para cambiar o eliminar la frase de contraseña, a menudo me parece más simple pasar solo las banderas
p
yf
, luego dejo que el sistema me solicite que proporcione las frases de contraseña:ssh-keygen -p -f <name-of-private-key>
Por ejemplo:
ssh-keygen -p -f id_rsa
Ingrese una contraseña vacía si desea eliminar la frase de contraseña.
Una ejecución de muestra para eliminar o cambiar una contraseña se ve así:
Al agregar una frase de contraseña a una clave que no tiene frase de contraseña, la ejecución se ve así:
fuente
En Windows, puede usar PuttyGen para cargar el archivo de clave privada, eliminar la frase de contraseña y luego sobrescribir el archivo de clave privada existente.
fuente
En la Mac , puede almacenar la frase de contraseña para su clave ssh privada en su Llavero, lo que hace que su uso sea transparente. Si ha iniciado sesión, está disponible, cuando está desconectado su usuario raíz no puede usarlo. Eliminar la frase de contraseña es una mala idea porque cualquier persona con el archivo puede usarlo.
Agregue esto a
~/.ssh/config
fuente