问题标签 [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.
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-tty、batch或no-use-agent行:
我仍然得到实际行为,而不是预期的。
7. 不提供
- 请不要提出,我每次都必须输入密码;
- 或者我可以进行未签名的提交;
- 我可以在文件中为
default-cache-ttl
和max-cache-ttl
参数C:\Users\SashaChernykh\.gnupg\gpg-agent.conf
,但它不会禁用密码输入。
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
git - 使用 Git 签署提交不需要我的密码
我试图用该命令签署我的提交,git commit -S
但它没有提示我输入 GPG 密钥的密码就失败了。
错误是:
我注意到如果我之前运行以下命令git commit -S
:
...一切正常,我的提交已正确签名。我认为这是因为我的密码被缓存了,但这不是我期望的行为。
我希望每次我想签署提交或标签时,Git 都会提示我输入密码。
在这个问题上找到了“解锁我的密钥”的命令:How to use gpg command-line to check passphrase is correct
ubuntu-18.04 - Ubuntu 18.04 add gpg key failed with gpg-agent not found 错误
尝试将我们的基础映像迁移到稳定的 Ubuntu 18.04,当我们尝试添加我们的 gpg 密钥时,出现此错误:
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 中工作。
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 提示,而是终端中的提示(您需要提供密码来解锁等)。我可以输入我的密码和签名工作,但我每次都需要输入密码。
我已经尝试多次卸载软件包并从头开始,但没有运气。
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.confextra-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 -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,新错误:
homebrew - 没有为自制软件找到 gpg-agent
我正在尝试安装gpg-agent
,但我收到一个公式不存在的错误:
但是,这个公式似乎仍然有效:https ://formulae.brew.sh/formula/gpg-agent
有什么我配置不正确的吗?其他公式按预期工作(例如brew install gpg
,brew install pinentry-mac
)。
如果此信息有帮助:
bash - 从脚本运行时避免 gpg-agent 出现问题 - gpg2
我正在尝试使用脚本gpg
中--clearsign
的文件(用于 debian 打包目的)。
我有一个导出的无密码private-key.gpg
文件,并且想要:
我不想弄乱当前用户的~/.gnupg
,或者/run/user/$(id -u)/gnupg
因为他们与我的脚本无关。此外,脚本可以同时在多个实例中运行,我不希望它们相互干扰。
我以为这很容易。设置$GNUPGHOME
到临时目录并完成它。但是我无法弄清楚如何gpg
在不弄乱用户标准配置的情况下在脚本中运行。似乎gpg
已经竭尽全力避免无法避免gpg-agent
并gpg-agent
坚持使用全局/硬编码路径。
我可以把所有东西都放在下面$GNUPGHOME
吗?或者我如何在gpg
不影响用户配置或使用gpg
我的脚本或其他实例的情况下安全地使用 shell 脚本?
细节
阅读gpg 文档我看到:
这个“标准套接字”大概在/run/user/$(id -u)/gnupg
- 所以看来我无法避免 gpg 弄乱用户对 gpg 的“正常”使用。
版本:Debian 9/stretch/stable 上的 gpg 2.1.18
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