¿Cómo sé si * .pem está protegido con contraseña usando ssh-keygen?

23

Tengo un archivo myfile-privkey.pem.

¿Cómo verifico si el archivo de clave privada está protegido con contraseña usando ssh-keygen?

Wojtek
fuente

Respuestas:

25

ssh-keygen -y -f myfile-privkey.pem

Si la clave está protegida por contraseña, verá un mensaje "contraseña:".

Las banderas en este comando son:

-y Read private key file and print public key.
-f Filename of the key file.

Como guía adicional, siempre verifique el comando que alguien, especialmente en línea, le dice que use cuando maneje sus claves privadas.

dmourati
fuente
1
Desearía que más personas realmente explicaran las banderas como se hace aquí :)
Martin Nielsen
15

Es bastante fácil ver si una clave SSH ha sido encriptada. Simplemente busque el Proc-Type: 4,ENCRYPTEDen el cuerpo. Aquí hay algunas claves de ejemplo en varias formas.

RSA con contraseña

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,AF51A101888567A12C6E384AFBD2B963

AAp6xVAtPP/qmr8T1WjAac8jjfQmToW8Hd4ik95zA/fkH2SJgy7hwuyl1AuVyQuq

RSA sin contraseña

-----BEGIN RSA PRIVATE KEY-----
MIIJJwIBAAKCAgEAwwXQEPzdutisd8Wl/TSNrp4HVnY7R87at30OiN46GcPPcV6q

DSA con contraseña

-----BEGIN DSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,2B9F1E1503F57CCC663397AB03CBF3F9

MVJ+F/AoJKW/XGtx0N2yrmLfJc276XIZzGYHRuCHmxUXlRkWpmi9gSUO8bNWgymf

DSA sin contraseña

-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQD1qn6U7ve6yqHTu1XuiOyF/9A+n3MJFXNrTt9jHg7Pn5zssqwO

ECDSA con contraseña

-----BEGIN EC PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,5A3BB12B9B9E17A9A569001A0498969D

LrGoz5tXNI4KMxx7zb1H6beJZ8kEwc2FLLglD0kNzilTLeNMooC1NoMNhRD9XCo6

ECDSA sin contraseña

-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILU3EwLQa2rSZdIMkbiE5VDrjlcoeJEF5IsYfGy0Hz4JoAoGCCqGSM49
AwEHoUQDQgAEHJCNvU9hVeByhp9CpSmvHphb82iSp52pL0ZJqVvqFY/swXPB1NMU
Zoredache
fuente
3
La comprobación de "Tipo de proceso: 4, ENCRYPTED" funciona para las claves cifradas tradicionales, pero no aparece en el nuevo formato de clave privada OpenSSH (que comienza con -----BEGIN OPENSSH PRIVATE KEY-----). Más detalles aquí .
Honore Doktorr
5

Si no está protegido, puede configurar la contraseña:

ssh-keygen -p -P "" -N "strong-password" -f unprotected.pem
Andy
fuente
4

Si el siguiente comando solicita la clave, está protegida por contraseña.

openssl rsa -in myfile-privkey.pem -noout
Piedra
fuente