gnupg - 如何轻松从 authinfo.gpg 获取密码

标签 gnupg

安装并配置 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/

相关文章:

centos - 无需任何交互即可生成 gpg 公钥和私钥

git - 当你 `git commit --gpg-sign=<key-id>` 时正在签署什么数据?

encryption - 如何列出 GnuPG 加密消息的信息?

docker - 如何使用 gpg key 解密 docker 容器中的文件而不将其保存在镜像中?

gnupg - 您如何使用 gpg 验证加密和签名的文件?

ubuntu - 从 hkp 服务器获取 key 但失败,因为 "unknown pubkey algorithm"

php - 如何使用 GnuPG 加密字符串?

mysql - 与文件相比,为什么 GPG 在 bash var 中存储不同的东西

maven - 无法从 key 环文件 secring.gpg 中检索 key ,因为它不存在

java - 调用 PGPOnePassSignature.verify 时签名长度不正确