Как я узнаю, что * .pem защищен паролем с помощью ssh-keygen?

23

У меня есть файл myfile-privkey.pem.

Как проверить, защищен ли файл закрытого ключа паролем с помощью ssh-keygen?

Войтек
источник

Ответы:

25

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

Если ключ защищен паролем, вы увидите запрос «пароль:».

Флаги в этой команде:

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

В качестве дополнительного руководства всегда проверяйте команду, которую кто-то, особенно онлайн, советует вам использовать при работе с вашими закрытыми ключами.

dmourati
источник
1
Я бы хотел, чтобы больше людей объяснили флаги так, как это сделано здесь :)
Мартин Нильсен,
15

Довольно легко увидеть, был ли зашифрован ключ SSH. Просто ищите Proc-Type: 4,ENCRYPTEDв теле. Вот несколько примеров ключей в различных формах.

RSA с паролем

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

AAp6xVAtPP/qmr8T1WjAac8jjfQmToW8Hd4ik95zA/fkH2SJgy7hwuyl1AuVyQuq

RSA без пароля

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

DSA с паролем

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

MVJ+F/AoJKW/XGtx0N2yrmLfJc276XIZzGYHRuCHmxUXlRkWpmi9gSUO8bNWgymf

DSA без пароля

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

ECDSA с паролем

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

LrGoz5tXNI4KMxx7zb1H6beJZ8kEwc2FLLglD0kNzilTLeNMooC1NoMNhRD9XCo6

ECDSA без пароля

-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILU3EwLQa2rSZdIMkbiE5VDrjlcoeJEF5IsYfGy0Hz4JoAoGCCqGSM49
AwEHoUQDQgAEHJCNvU9hVeByhp9CpSmvHphb82iSp52pL0ZJqVvqFY/swXPB1NMU
Zoredache
источник
3
Проверка на «Proc-Type: 4, ENCRYPTED» работает для традиционных зашифрованных ключей, но она не отображается в новом формате закрытого ключа OpenSSH (который начинается с -----BEGIN OPENSSH PRIVATE KEY-----) - подробнее здесь .
Оноре Докторр
5

Если не защищен, вы можете установить пароль:

ssh-keygen -p -P "" -N "strong-password" -f unprotected.pem
Энди
источник
4

Если следующая команда запрашивает ключ, он защищен паролем.

openssl rsa -in myfile-privkey.pem -noout
Камень
источник