我正在尝试找到一种方法来解密“原始”EC2 实例上的加密文件。我使用的这些 EC 实例(Ubuntu Lucid)仅保存我的 AWS 创建的公共 ssh-key。如果可以使用它来解密文件,我可以将加密文件提供给它(例如,保存密码的 bash 脚本到我的 subversion-repository)。
那么,我的问题是,我可以使用我的 ssh-key 来加密/解密文件吗?
我正在尝试找到一种方法来解密“原始”EC2 实例上的加密文件。我使用的这些 EC 实例(Ubuntu Lucid)仅保存我的 AWS 创建的公共 ssh-key。如果可以使用它来解密文件,我可以将加密文件提供给它(例如,保存密码的 bash 脚本到我的 subversion-repository)。
那么,我的问题是,我可以使用我的 ssh-key 来加密/解密文件吗?
文件:
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
您可以使用公钥来加密文件,但您需要相应的私钥来解密文件。所以,是的,只要您可以访问公钥和私钥,您就应该能够使用您的 ssh 密钥来加密/解密文件。
如果您只想使用 ssh 密钥进行加密/解密,ssh-vault可能会很有用,更多信息在这里:http ://ssh-vault.com/about/