2010-05-11 114 views
22

我试图找到解密'处女'EC2实例上的加密文件的方法。我使用的这些EC实例(Ubuntu Lucid)只包含我的AWS创建的公共ssh密钥。如果可以使用它来解密一个文件,我可以给它加密文件(例如一个持有密码的bash脚本到我的Subversion-repository)。我可以使用我的ssh-public-key来解密文件吗?

所以,我的问题,我可以使用我的SSH密钥来加密/解密文件?

谢谢!

回答

1

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

+2

感谢您的快速回复! 你能给我一个关于如何做到这一点的命令的例子(我在Linux上)吗? 对不起,我在这里黑暗中...... – bowlby 2010-05-11 15:40:14

33

文件:

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 
+0

这正是我需要知道的 - 谢谢! – 2011-03-09 11:03:13

+0

这个答案是如何解决问题的“ssh”部分的?我在这里没有看到引用“ssh”或“.ssh”中的文件。 – 2013-05-03 15:25:37

+0

谢谢。正是我在寻找的东西。 – Lukas 2013-05-23 17:12:52

相关问题