23

我正在尝试找到一种方法来解密“原始”EC2 实例上的加密文件。我使用的这些 EC 实例(Ubuntu Lucid)仅保存我的 AWS 创建的公共 ssh-key。如果可以使用它来解密文件,我可以将加密文件提供给它(例如,保存密码的 bash 脚本到我的 subversion-repository)。

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

4

3 回答 3

35

文件:

echo 'This is a sekret' >/tmp/msg.txt

导出公钥(以防您没有/丢失它):

openssl rsa -in ~/private.pem -out /tmp/public.pub -outform PEM -pubout

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

openssl rsautl -encrypt -inkey /tmp/public.pub -pubin -in /tmp/msg.txt -out /tmp/file.enc

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

openssl rsautl -decrypt -inkey ~/private.pem -in /tmp/file.enc -out /tmp/decrypted.txt

解码消息:

cat /tmp/decrypted.txt
于 2011-02-13T06:47:23.487 回答
1

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

于 2010-05-11T14:32:31.660 回答
0

如果您只想使用 ssh 密钥进行加密/解密,ssh-vault可能会很有用,更多信息在这里:http ://ssh-vault.com/about/

于 2017-03-11T19:54:03.563 回答