Skąd mam wiedzieć, czy * .pem jest chroniony hasłem przy użyciu ssh-keygen?

23

Mam plik myfile-privkey.pem.

Jak sprawdzić, czy plik klucza prywatnego jest chroniony hasłem za pomocą ssh-keygen?

Wojtek
źródło

Odpowiedzi:

25

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

Jeśli klucz jest chroniony hasłem, zobaczysz monit „hasło:”.

Flagi w tym poleceniu to:

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

Jako dodatkową wskazówkę, zawsze sprawdzaj komendę, szczególnie online, która mówi ci, abyś używał jej w kontaktach z kluczami prywatnymi.

dmourati
źródło
1
Chciałbym, żeby więcej ludzi faktycznie tłumaczyło flagi, jakby to zrobiono tutaj :)
Martin Nielsen
15

Łatwo jest sprawdzić, czy klucz SSH został zaszyfrowany. Po prostu szukaj Proc-Type: 4,ENCRYPTEDciała. Oto kilka przykładowych kluczy w różnych formach.

RSA z hasłem

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

AAp6xVAtPP/qmr8T1WjAac8jjfQmToW8Hd4ik95zA/fkH2SJgy7hwuyl1AuVyQuq

RSA bez hasła

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

DSA z hasłem

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

MVJ+F/AoJKW/XGtx0N2yrmLfJc276XIZzGYHRuCHmxUXlRkWpmi9gSUO8bNWgymf

DSA bez hasła

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

ECDSA z hasłem

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

LrGoz5tXNI4KMxx7zb1H6beJZ8kEwc2FLLglD0kNzilTLeNMooC1NoMNhRD9XCo6

ECDSA bez hasła

-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILU3EwLQa2rSZdIMkbiE5VDrjlcoeJEF5IsYfGy0Hz4JoAoGCCqGSM49
AwEHoUQDQgAEHJCNvU9hVeByhp9CpSmvHphb82iSp52pL0ZJqVvqFY/swXPB1NMU
Zoredache
źródło
3
Sprawdzanie „Proc-Type: 4, ENCRYPTED” działa dla tradycyjnych szyfrowanych kluczy, ale nie pojawia się w nowym formacie klucza prywatnego OpenSSH (który zaczyna się od -----BEGIN OPENSSH PRIVATE KEY-----) - więcej szczegółów tutaj .
Honore Doktorr
5

Jeśli nie jest chroniony, możesz ustawić hasło:

ssh-keygen -p -P "" -N "strong-password" -f unprotected.pem
Andy
źródło
4

Jeśli poniższe polecenie prosi o klucz, jest on chroniony hasłem.

openssl rsa -in myfile-privkey.pem -noout
Kamień
źródło