我有一个 Debian 10 服务器。我想使用 msmtp 发送电子邮件,并且需要缓存 gpg 密钥的密码。msmtp 所需的 smtp 密码使用此 gpg 密钥加密在文件中。msmtp将使用gpg解密该文件以获取smtp密码。
\n此行存在于 /etc/msmtprc 文件中:
\npasswordeval gpg --no-tty -q -d /etc/.msmtp-password.gpg\n
Run Code Online (Sandbox Code Playgroud)\n我正在尝试使用 gpg-agent 和 keychain 来缓存秘密 gpg key 的密码。这样系统就可以发送电子邮件而无需询问密码。
\n我希望每次启动服务器时只提交一次 gpg 密钥的密码,该密钥的密码将被缓存,直到下次重新启动。(如果我注销并再次登录,则在下次重新启动之前我不需要提交 gpg 密钥的密码)。
\n我没有成功,因为当我从远程主机(Debian 服务器)注销时,gpg-agent 停止了。如果我通过 SSH 钥匙串建立新连接,则使用新 PID 启动新代理,并且密钥的密码会丢失。
\n下面您将看到我所做的事情,希望能提供有用的信息。如果你能帮助我,我会很高兴。
\n我的Linux版本
\ncat /etc/issue\nDebian GNU/Linux 10 \\n \\l\n
Run Code Online (Sandbox Code Playgroud)\nGP版本
\ngpg --version\ngpg (GnuPG) 2.2.12\nlibgcrypt 1.8.4\n
Run Code Online (Sandbox Code Playgroud)\n我们创建一个秘密的 gpg 密钥,将询问该密钥的密码
\ngpg --gen-key\n...\nNom r\xc3\xa9el\xc2\xa0: user@mdomain.tld\nAdresse \xc3\xa9lectronique\xc2\xa0: user@mdomain.tld\nVous …
Run Code Online (Sandbox Code Playgroud)