我正试图找到一种解密'virgin'EC2-instance上的加密文件的方法。我使用的这些EC实例(Ubuntu Lucid)只保存我创建的AWS公共ssh密钥。如果可以使用它来解密文件,我可以将其加载到加密文件中(例如,将密码保存到我的subversion-repository中的bash脚本)。
所以,我的问题是,我可以使用我的ssh-key加密/解密文件吗?
答案 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/