我正在尝试找到一种方法,在“原始”EC2实例上解密已加密的文件。我使用这些EC实例(Ubuntu Lucid)仅包含我AWS创建的公共SSH密钥。如果可以使用它来解密文件,我可以让它解密加密文件(例如,包含我的子版本库密码的bash脚本)。
所以,我的问题是,我可以使用我的ssh密钥来加密/解密文件吗?
我正在尝试找到一种方法,在“原始”EC2实例上解密已加密的文件。我使用这些EC实例(Ubuntu Lucid)仅包含我AWS创建的公共SSH密钥。如果可以使用它来解密文件,我可以让它解密加密文件(例如,包含我的子版本库密码的bash脚本)。
所以,我的问题是,我可以使用我的ssh密钥来加密/解密文件吗?
该文件:
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密钥来加密/解密文件。