我有一个文件myfile-privkey.pem
。
如何检查私钥文件是否使用ssh-keygen进行密码保护?
ssh-keygen -y -f myfile-privkey.pem
如果密钥受密码保护,您将看到“密码:”提示。
这个命令中的标志是:
-y Read private key file and print public key. -f Filename of the key file.
作为额外的指导,总是检查命令的人,尤其是在线,告诉你在处理你的私钥时使用。
很容易看到SSH密钥是否被encryption。 只需寻找Proc-Type: 4,ENCRYPTED
。 这里有几个不同forms的示例键。
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
如果以下命令要求密钥,那么它是密码保护。
openssl rsa -in myfile-privkey.pem -noout
如果不受保护,您可以设置密码:
ssh-keygen -p -P "" -N "strong-password" -f unprotected.pem