如何从 authinfo.gpg 轻松获取密码
How to easily get password from authinfo.gpg
安装并配置 gpg 后,它可以用于多种用途。我什至学会了如何为我的应用程序加密任意数据,我可以轻松地做这样的事情:
gpg2 -q --for-your-eyes-only --no-tty -d ~/my-encrypted-file.gpg
有一件事我想不通,一定有一种从 authinfo.gpg 检索密码的惯用方法,对吗?
所以假设我想要一个将外部驱动器安装到某个远程机器的脚本(我们称之为 'beefy-server'),但我不想公开 uname/password。如果我将其加密保存在 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\(.*\).*$//"
但是有没有更好的方法呢?
我认为通过 awk 传输 gpg 输出的常规方法是
gpg2 -q --for-your-eyes-only --no-tty -d ~/.authinfo.gpg | awk '/machine beefy-server login yourname/ {print $NF}'
假定您在 authinfo.gpg 中有一行在末尾有 beefy-server 和密码的详细信息。像这样
machine beefy-server login yourname port 465 password myverysecretpassword
安装并配置 gpg 后,它可以用于多种用途。我什至学会了如何为我的应用程序加密任意数据,我可以轻松地做这样的事情:
gpg2 -q --for-your-eyes-only --no-tty -d ~/my-encrypted-file.gpg
有一件事我想不通,一定有一种从 authinfo.gpg 检索密码的惯用方法,对吗?
所以假设我想要一个将外部驱动器安装到某个远程机器的脚本(我们称之为 'beefy-server'),但我不想公开 uname/password。如果我将其加密保存在 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\(.*\).*$//"
但是有没有更好的方法呢?
我认为通过 awk 传输 gpg 输出的常规方法是
gpg2 -q --for-your-eyes-only --no-tty -d ~/.authinfo.gpg | awk '/machine beefy-server login yourname/ {print $NF}'
假定您在 authinfo.gpg 中有一行在末尾有 beefy-server 和密码的详细信息。像这样
machine beefy-server login yourname port 465 password myverysecretpassword