Pregunta ¿Cómo cambio mi frase de contraseña privada?


Tengo un par de claves públicas / privadas existentes. La clave privada está protegida por contraseña, y el cifrado puede ser RSA o DSA. Estas teclas son del tipo que generas con ssh-keygen y generalmente almacenar bajo ~/.ssh.

Me gustaría cambiar la contraseña de la clave privada. ¿Cómo lo hago, en un shell estándar de Unix?

Además, ¿cómo simplemente elimino la contraseña? ¿Solo cambiarlo a vacío?


219
2017-08-06 05:37


origen




Respuestas:


Para cambiar la frase de contraseña en su clave DSA predeterminada:

$ ssh-keygen -p -f ~/.ssh/id_dsa

luego proporcione su contraseña antigua y nueva (dos veces) en las indicaciones. (Utilizar ~/.ssh/id_rsa Si tiene una clave RSA.

Más detalles de man ssh-keygen:

[...]
SYNOPSIS
    ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
               [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
     -f filename
             Specifies the filename of the key file.
[...]
     -N new_passphrase
             Provides the new passphrase.

     -P passphrase
             Provides the (old) passphrase.

     -p      Requests changing the passphrase of a private key file instead of
             creating a new private key.  The program will prompt for the file
             containing the private key, for the old passphrase, and twice for
             the new passphrase.
[...]

284
2017-08-06 06:01



Esto es de la página de comando man que se envía con net-misc / openssh-5.2_p1-r2 en Gentoo Linux. - Mike Mazur
También, por el bien de la persona perezosa futura, revertiría el orden: primero el contestador rápido, la página de manual más adelante. - kch
Creo que la respuesta es excelente, ya que muestra dónde puede cambiar la contraseña y dónde buscar la respuesta. He ayudado a mucha gente a configurar claves ssh, y para ellos recordar realmente qué herramienta han usado no siempre es fácil. Además, buscar la respuesta en la red es la primera opción para muchos ... - sastorsl
Si sus máquinas usan OpenSSH> = 6.5, deberías estar usando el -o opción para habilitar el nuevo formato de clave privada (bcrypt como KDF por defecto). Con versiones anteriores de OpenSSH, use PKCS # 8 para archivos de clave privada más seguros. - Quinn Comendant
@FranciscoLuz el comando en mi respuesta es específico para una clave DSA. Si tiene una clave RSA, entonces su comando es correcto. Agregué una propaganda a la respuesta para abordar esto. - Mike Mazur


Eliminar sus claves públicas / privadas SSH:

rm ~/.ssh/id_rsa*

Vuelva a crear el par de llaves, eligiendo una nueva frase de contraseña:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

Agregue la clave privada recién creada a su llavero OS X para almacenar la frase de contraseña y administrar desbloquearla automáticamente:

ssh-add -K ~/.ssh/id_rsa

Copie la clave pública en el portapapeles de OS X para agregar servicios web como GitHub, etc.

cat ~/.ssh/id_rsa.pub | pbcopy

Agregue su clave pública recién creada a la ~/.ssh/authorized_keys Archivo del servidor remoto. Asegúrese de garantizar los permisos correctos tanto del mando a distancia ~/.ssh carpeta (700) y ~/.ssh/authorized_keys (600). Es posible que desee investigar utilizando ssh-copy-id para facilitar este proceso.


-7
2018-02-20 15:17



El póster preguntó cómo cambiar la contraseña en su clave, no tirarla y generar una nueva; y nunca mencionaron OS X. - musicinmybrain
Hubiera votado esta respuesta si no fuera por estos tres problemas: 1. Eliminar las claves antiguas no es un buen comienzo, ya que las necesitará cuando actualice authorized_keys. 2. No ha mencionado por qué crear nuevas claves es mejor que cambiar las contraseñas en las antiguas. 3. Usted hace suposiciones sobre el sistema operativo, lo que no es compatible con la pregunta. - kasperd