我可以使用我的ssh-public-key来解密文件吗?

bow*_*lby 23 amazon-ec2 ssh-keys

我正试图找到一种方法来解密"处女"EC2实例上的加密文件.我使用的这些EC实例(Ubuntu Lucid)只保存我创建的AWS公共ssh密钥.如果可以使用它来解密文件,我可以将其加载到加密文件中(例如,将密码保存到我的subversion-repository中的bash脚本).

所以,我的问题是,我可以使用我的ssh-key加密/解密文件吗?

Hed*_*hog 34

文件:

echo 'This is a sekret' >/tmp/msg.txt
Run Code Online (Sandbox Code Playgroud)

导出公钥(如果您没有/丢失它):

openssl rsa -in ~/private.pem -out /tmp/public.pub -outform PEM -pubout
Run Code Online (Sandbox Code Playgroud)

使用公钥加密文件(任何人都可以拥有此密钥):

openssl rsautl -encrypt -inkey /tmp/public.pub -pubin -in /tmp/msg.txt -out /tmp/file.enc
Run Code Online (Sandbox Code Playgroud)

使用私钥解密文件(只有你应该拥有私钥):

openssl rsautl -decrypt -inkey ~/private.pem -in /tmp/file.enc -out /tmp/decrypted.txt
Run Code Online (Sandbox Code Playgroud)

解码的消息:

cat /tmp/decrypted.txt
Run Code Online (Sandbox Code Playgroud)

  • @MarkStosberg,它解决了这个问题:“我正在尝试找到一种方法来解密“原始”EC2 实例上的加密文件” (2认同)

Kla*_*sen 1

您可以使用公钥来加密文件,但需要相应的私钥来解密它。所以,是的,只要您有权访问公钥和私钥,您就应该能够使用 ssh 密钥来加密/解密文件。

  • 感谢您的快速回复!你能举一个我必须给出的命令的例子(我在linux上)来说明如何做到这一点吗?抱歉,我这里一片黑暗…… (2认同)