安装并配置 gpg 后,它可以用于多种用途。我什至学会了如何为我的应用程序加密任意数据,我可以轻松地执行以下操作:
gpg2 -q --for-your-eyes-only --no-tty -d ~/my-encrypted-file.gpg
有一点我不明白,一定有一种惯用的方法从 authinfo.gpg 检索密码,对吗?
假设我想要一个将外部驱动器安装到某个远程计算机的脚本(我们称之为“beefy-server”),但我不想暴露 uname/密码。如果我将其加密保存在 authinfo.gpg 中 标准形式:
machine beefy-server login admin password foobar1030
我当然可以:
gpg2 -q --for-your-eyes-only --no-tty -d ~/.authinfo.gpg
然后将其通过管道传输到 awk、sed 等,现在我正在这样做:
gpg2 -q --for-your-eyes-only --no-tty -d ~/.authinfo.gpg \
| grep beefy-server \
| sed -e "s/.*password\(.*\).*$/\1/"
但是有更好的方法吗?
最佳答案
我认为通过 awk 管道 gpg 输出的常规方法是
gpg2 -q --for-your-eyes-only --no-tty -d ~/.authinfo.gpg | awk '/machine beefy-server login yourname/ {print $NF}'
假设您在 authinfo.gpg 中有一行,其中包含牛肉服务器的详细信息以及末尾的密码。就像这样
machine beefy-server login yourname port 465 password myverysecretpassword
关于gnupg - 如何轻松从 authinfo.gpg 获取密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61899524/