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

时间:2010-05-11 14:28:08

标签: ssh-keys amazon-ec2

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

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

3 个答案:

答案 0 :(得分:34)

文件:

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

答案 1 :(得分:1)

您可以使用公钥来加密文件,但您需要相应的私钥才能对其进行解密。所以,是的,你应该能够使用你的ssh-key来加密/解密文件,只要你有权访问公钥和私钥。

答案 2 :(得分:0)

如果您只想使用ssh密钥加密/解密,ssh-vault可能会有用,请点击此处了解更多信息:http://ssh-vault.com/about/