问题标签 [gpg-agent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6636 浏览

git - 禁用每次提交的输入密码

一、总结

我不能每次都禁用输入密码,我是如何提交的。


2.环境

  • Windows 10 企业版 LTSB 64 位 EN,
  • 混帐 2.16.2.windows.1,
  • gpg 代理 (GnuPG) 2.2.4,
  • gpg4win 3.0.3。

3. 重现步骤

我安装并设置 Gpg4win → 我移动到带有子文件夹的.git文件夹 →</p>

  • git add .,
  • git commit -m "Any description".

4. 预期行为

无需输入密码即可成功签署提交。


5. 实际行为

我得到窗口,我需要在其中输入我的密码:

输入密码

pinentry-qt

请输入密码以解锁 OpenPGP 密钥:

每次提交时,我都需要输入密码;

    <strong>排除:提交之间的小时间。


6.没有帮助

我在我的USERPROFILE文件夹中找到了C:\Users\SashaChernykh——.gnupg\gpg-agent.conf文件。我尝试在此文件中添加no-ttybatchno-use-agent行:

我仍然得到实际行为,而不是预期的。


7. 不提供

  1. 请不要提出,我每次都必须输入密码;
  2. 或者我可以进行未签名的提交;
  3. 我可以在文件中为default-cache-ttlmax-cache-ttl参数C:\Users\SashaChernykh\.gnupg\gpg-agent.conf,但它不会禁用密码输入。
0 投票
0 回答
140 浏览

ubuntu - 删除 gnupg V.2.1.15 和 libgcrypt V.1.7.8 然后安装 gnupg V.2.1.0 和 libgcrypt V.1.6.3

我在笔记本电脑上使用 Lubuntu V.17.10。在这个版本的 Lubuntu 上默认安装 gnupg V.2.1.15 和 libgcrypt V.1.7.8。我想删除 gnupg V.2.1.15 和 libgcrypt V.1.7.8,然后安装 gnupg V.2.1.0 和 libgcrypt V.1.6.3。过去,我安装了 gnupg V.2.1.0 和 libgcrypt V.1.6.3。但是当我使用 multi 命令时,我给出了冲突的答案。

这些冲突导致我对安装 gnupg V.2.1.0 和 libgcrypt V.1.6.3 没有信心。我想在使用命令时gpg --version给出这些答案gpg (GnuPG) 2.1.0 libgcrypt 1.6.3

0 投票
1 回答
3479 浏览

git - 使用 Git 签署提交不需要我的密码

我试图用该命令签署我的提交,git commit -S但它没有提示我输入 GPG 密钥的密码就失败了。

错误是:

我注意到如果我之前运行以下命令git commit -S

...一切正常,我的提交已正确签名。我认为这是因为我的密码被缓存了,但这不是我期望的行为。

我希望每次我想签署提交或标签时,Git 都会提示我输入密码。

在这个问题上找到了“解锁我的密钥”的命令:How to use gpg command-line to check passphrase is correct

0 投票
1 回答
22591 浏览

ubuntu-18.04 - Ubuntu 18.04 add gpg key failed with gpg-agent not found 错误

尝试将我们的基础映像迁移到稳定的 Ubuntu 18.04,当我们尝试添加我们的 gpg 密钥时,出现此错误:

0 投票
3 回答
14751 浏览

windows - 如何在 Windows 上安装和使用 gpg-agent?

我正在尝试开始签署 Git 提交。我使用 keybase.io 设置了 GPG 密钥,并将其同步到我的本地计算机和 Git 服务器上。现在,我正在尝试解决在每次提交时输入密钥密码的问题。

据我了解,我需要安装 gpg-agent 之类的东西。我在 Windows 10 Pro 1803 上,所以我在看Gpg4win(由 GitHub 和其他人推荐)。我通过Chocolatey安装了它,所以我有完整的默认安装。

但是,我不知道如何让 gpg-agent 开始缓存我的密码。每次我提交时都会提示我。

gpg-agent 说它正在运行

我有这个 gpg-connect-agent 的东西,但我不知道如何处理它。


我看到手册页讨论了如何在 Bash 会话中启动 gpg-agent,但我不确定如何将其转换为 Windows 并让它在 cmd.exe 和 PowerShell 中工作。

https://linux.die.net/man/1/gpg-agent

0 投票
1 回答
1816 浏览

git - 在 macOS 上签署 git 提交时不断要求输入密码

我过去在另外两台 Mac 上设置了 Git 提交签名,我正试图在新的 Mac 上设置它,但由于我不明白的原因而失败。所有机器都运行 High Sierra 10.13.6 (17G65)

1) 通过 Homebrew 安装的软件包

~/.gnupg/gpg.conf我定义了一个密钥服务器,并且

~/.gnupg/gpg-agent.conf

2)添加了我的私钥(它显示正确运行gpg -K

3) 如果我运行gpg,例如使用echo "test" | gpg --clearsign,我会看到 pinentry 提示,并带有一个复选框以将密码短语存储在钥匙串中。此时,再次运行相同的命令不会再次要求输入密码。

如果我尝试签署提交,我不会得到 pinentry 提示,而是终端中的提示(您需要提供密码来解锁等)。我可以输入我的密码和签名工作,但我每次都需要输入密码。

我已经尝试多次卸载软件包并从头开始,但没有运气。

0 投票
2 回答
22114 浏览

gpg-agent - gpg-agent 转发:设备的 ioctl 不合适

我正在尝试设置 gpg-agent 转发以便通过 ssh使用 pass ( https://www.passwordstore.org )。

本地和远程主机上的 gpg 版本 2.2.9,按说明安装: https ://gist.github.com/vt0r/a2f8c0bcb1400131ff51

在本地机器上

$HOME/.gnupg/gpg-agent.conf

extra-socket /home/mickey/.gnupg/S.gpg-agent.remote

重新加载代理

echo RELOADAGENT | gpg-connect-agent

导出公钥

gpg --export -a mickey > mickey.gpg

签署测试数据

echo "test" | gpg2 --encrypt -r mickey > out.gpg

发送公钥和签名数据

scp *.gpg REMOTE_HOST:

使用反向转发创建 ssh 会话

ssh -R /run/user/1002/gnupg/S.gpg-agent:/home/mickey/.gnupg/S.gpg-agent.remote -o "StreamLocalBindUnlink=yes" REMOTE_HOST

在远程机器上

导入公钥

gpg --import mickey.gpg

最终相信这把钥匙

gpg --edit-key mickey

trust 5 quit

尝试解密

gpg --decrypt -v out.gpg

输出

因此,代理套接字转发正在工作,似乎 pinentry 程序存在一些问题。在谷歌中找不到任何对我有用的东西。

UPD

试图添加pinentry-program /usr/bin/pinentry-tty到 gpg-agent.conf,新错误:

0 投票
1 回答
6676 浏览

homebrew - 没有为自制软件找到 gpg-agent

我正在尝试安装gpg-agent,但我收到一个公式不存在的错误:

但是,这个公式似乎仍然有效:https ://formulae.brew.sh/formula/gpg-agent

有什么我配置不正确的吗?其他公式按预期工作(例如brew install gpgbrew install pinentry-mac)。

如果此信息有帮助:

0 投票
1 回答
686 浏览

bash - 从脚本运行时避免 gpg-agent 出现问题 - gpg2

我正在尝试使用脚本gpg--clearsign的文件(用于 debian 打包目的)。

我有一个导出的无密码private-key.gpg文件,并且想要:

我不想弄乱当前用户的~/.gnupg,或者/run/user/$(id -u)/gnupg因为他们与我的脚本无关。此外,脚本可以同时在多个实例中运行,我不希望它们相互干扰。

我以为这很容易。设置$GNUPGHOME到临时目录并完成它。但是我无法弄清楚如何gpg在不弄乱用户标准配置的情况下在脚本中运行。似乎gpg已经竭尽全力避免无法避免gpg-agentgpg-agent坚持使用全局/硬编码路径。

我可以把所有东西都放在下面$GNUPGHOME吗?或者我如何在gpg不影响用户配置或使用gpg我的脚本或其他实例的情况下安全地使用 shell 脚本?

细节

阅读gpg 文档我看到:

gpg-agent 文档说:

这个“标准套接字”大概在/run/user/$(id -u)/gnupg- 所以看来我无法避免 gpg 弄乱用户对 gpg 的“正常”使用。

版本:Debian 9/stretch/stable 上的 gpg 2.1.18

0 投票
1 回答
2175 浏览

configuration - gpg2:如何使用另一个秘密和公共密钥环?

我知道 gpg2 使用 gpg-agent 来获取私钥。默认情况下,它们存储在~/.gnupg/private-keys-v1.d.

现在我在问自己是否可以指示 gpg 在另一台机器上使用另一个代理?该文档不是很有帮助,因为它没有解释如何将您的 gpg 连接到另一个 gpg-agent。但是由于 gpg2 要求您使用 gpg-agent,因此他们没有其他方法可以使用新的密钥环。

我的第二个问题是,是否可以指示 gpg-agent 使用另一个目录而不是默认目录private-keys-v1.d来查找密钥?

gpg2 的文档也没有包含指定新公钥环的选项。尽管文档中不再提及,但它仍然可用吗?

问候 Sebi2020