密码保护pem文件

时间:2017-12-01 18:37:53

标签: amazon-web-services encryption amazon-ec2 pem ssh-keygen

我想用密码保护的pem文件通过SSH连接到我的EC2实例。我如何用密码保护pem文件?我过去做过这个,但不记得我是怎么做到的。我拿了一个由AWS生成的pem文件并在其上运行了一些命令,它生成了如下所示的内容:

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

<encrypted stuff is here>

-----END RSA PRIVATE KEY-----

然后当我进入框中时,我正在指定我的密码保护的pem文件,它要求我在解密和sshing之前输入密码。

我发现了这个:https://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html

告诉我使用此命令

ssh-keygen -t rsa -N 'super secret passphrase' -f test_rsa_key

但是生成的加密文件(我正在寻找正确的标题)似乎不起作用。我得到了“Permission denied(publickey)”。当我尝试使用加密的pem文件ssh时。我能够通过未加密的pem文件SSH到框中。

2 个答案:

答案 0 :(得分:8)

这是因为您使用的命令会生成新的密钥对,而不是保护您现有的私钥。

尝试使用-p

ssh-keygen选项
ssh-keygen -p -f my_private_key

它会提示您输入密码并保护您的私钥。

Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.

现在,如果您在my_private_key中使用ssh,则会提示输入密码并且会成功。

 -p      Requests changing the passphrase of a private key file instead of
         creating a new private key.  The program will prompt for the file
         containing the private key, for the old passphrase, and twice for
         the new passphrase.

答案 1 :(得分:0)

您可以安装和使用puttygen:

sudo apt install putty

要生成受保护的密钥,请执行以下操作:

puttygen KEY_PAIR_PRIVATE.pem -O private-openssh -o KEY_PAIR_PRIVATE.key -P

选项-P是将新密码设置为私钥。

PS:您可能需要设置使用密钥的权限,如下所示:

sudo chmod 755 KEY_PAIR_PRIVATE.key

最后,您可以安全地访问aws实例:

ssh -i KEY_PAIR_PRIVATE.key ubuntu@IP_EC2_INSTANCE_OR_HOSTNAME