Como sei se * .pem está protegido por senha usando ssh-keygen?

23

Eu tenho um arquivo myfile-privkey.pem.

Como verifico se o arquivo de chave privada está protegido por senha usando ssh-keygen?

Wojtek
fonte

Respostas:

25

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

Se a chave estiver protegida por senha, você verá um prompt "password:".

Os sinalizadores neste comando são:

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

Como orientação extra, sempre verifique o comando que alguém, especialmente online, está lhe dizendo para usar ao lidar com suas chaves privadas.

dmourati
fonte
1
Gostaria que mais pessoas realmente explicar as bandeiras como ele é feito aqui :)
Martin Nielsen
15

É muito fácil verificar se uma chave SSH foi criptografada. Basta olhar para Proc-Type: 4,ENCRYPTEDo corpo. Aqui estão alguns exemplos de chaves de várias formas.

RSA com senha

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

AAp6xVAtPP/qmr8T1WjAac8jjfQmToW8Hd4ik95zA/fkH2SJgy7hwuyl1AuVyQuq

RSA sem senha

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

DSA com senha

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

MVJ+F/AoJKW/XGtx0N2yrmLfJc276XIZzGYHRuCHmxUXlRkWpmi9gSUO8bNWgymf

DSA sem senha

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

ECDSA com senha

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

LrGoz5tXNI4KMxx7zb1H6beJZ8kEwc2FLLglD0kNzilTLeNMooC1NoMNhRD9XCo6

ECDSA sem senha

-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILU3EwLQa2rSZdIMkbiE5VDrjlcoeJEF5IsYfGy0Hz4JoAoGCCqGSM49
AwEHoUQDQgAEHJCNvU9hVeByhp9CpSmvHphb82iSp52pL0ZJqVvqFY/swXPB1NMU
Zoredache
fonte
3
A verificação de “Proc-Type: 4, ENCRYPTED” funciona para chaves criptografadas tradicionais, mas não aparece no novo formato de chave privada OpenSSH (que começa com -----BEGIN OPENSSH PRIVATE KEY-----) - mais detalhes aqui .
Honore Doktorr
5

Se não estiver protegido, você pode configurar a senha:

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

Se o comando a seguir solicitar a chave, ela estará protegida por senha.

openssl rsa -in myfile-privkey.pem -noout
Pedra
fonte