问题标签 [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.
debian - gpg: 无法连接到代理:IPC 连接调用失败,无法终止 gpg-agent
gpg-agent
不断记录(每 2 秒)到syslog
:
gpg: can't connect to the agent: IPC connect call failed
我遵循了这一点,但这实际上是不可能的,因为一旦进程被杀死,它会自动重生,我无法永久杀死它。我也尝试gpgconf --kill gpg-agent
过同样的结果。
我在 Debian Stretch 上。如何终止此过程?为什么会syslog
被这些信息填满?
linux - GPG 在 root 拥有的存储库上签署 Git 提交
我有一个由 root 用户拥有的 Git 存储库,我可以使用sudo
. 通常为了在 Git 中使用这个 repo,我使用sudo -E git ...
. 该-E
标志是必需的,以便 sudo 中的 Git 继承我的默认 Git 配置,例如作者...等。
我决定尝试对这个存储库进行 GPG 签名,所以我启用了这些选项。
但是在尝试提交时:
但是,gpg 似乎无法使用我的用户配置文件中存在的 GPG 密钥对该存储库进行签名。
我发现了有关此问题的新信息:https ://github.com/NixOS/nixpkgs/issues/57779
linux - 没有密码的签名 rpm
我试图在签名时禁用任何密码,或者至少使用签名命令发送密码。
我有 gpg (GnuPG) 2.0.27 和 libgcrypt 1.5.4
当我运行( rpm --addsign xxxxxxxxxx.rpm )时,我弹出密码
我找到了一个不适合我的 keygrip 解决方案
这些是 rpm 选项:
--checksig --erase --freshen --import --install --querytags --setperms --showrc --verify
git - 如何在 Windows 上使用 GPG 向 Github 进行 SSH 身份验证?
我有 gpg4win 套件并且已经使用 Kleopatra 创建了一个证书,我想使用现有证书通过 SSH 对 github 进行身份验证,而不是使用 git 安装附带的 ssh-agent。
github 帮助页面解释了如何使用 ssh-agent 生成新的密钥对以及如何将其添加到代理进行身份验证,但我很好奇我是否可以使用 gpg (gpg4win) 做到这一点?或者至少将现有证书与 ssh-agent 一起使用。
这是否可能以及如何实现这一目标?
gnupg - GPG:如何删除错误的会话密钥并再次被要求输入加密密码?
我试图解决这个 Geocache:
https://www.geocaching.com/geocache/GC67EXW_signaturbruch
当我尝试解决时,它给了我一个密码提示,gpg message.asc
但当时我不知道正确的密码。
现在我知道了,但无论我如何尝试,它都不会再次给我密码提示。
输出如下:
(我在德国 MacOs Mojave 10.14.6 上,我gpg --version
给了我这个:
有人可以告诉我,我怎样才能再次被要求输入密码???我在整个互联网上搜索了诸如“重新启动计算机”、重新安装所有 gpg 工具、删除所有 .gpg 文件等解决方案,但没有什么能让它变得更好。
提前致谢。
gnupg - GPG 无法连接到 S.gpg-agent:连接被拒绝
我正在尝试使用 gpg 代理设置 gpg 预设密码缓存,以便我可以自动化我的文件加密过程。为了让 gpg-agent 运行并正确缓存密码,似乎需要有一个位于 ~/.gnupg/ 目录中的S.gpg-agent套接字,当我设置 gpg 和gpg 代理。
我所做的(过去似乎可行)是我将以 root 身份启动所有内容,并将 /.gnupg 目录的内容复制给我的特权较低的用户,并将对该套接字和目录的权限授予用户。我为启动 gpg-agent 守护进程和缓存密码而运行的命令:
gpg-agent 进程似乎运行得很好,但我从第二行得到以下错误:
我已确保套接字存在于具有适当权限的目录中,并且此过程以 root 身份运行。即使我复制和修改权限,这个套接字似乎仍然与 root 绑定。所以我的问题是
- 这个套接字究竟是如何初始化的?
- 有没有办法以其他用户的身份手动执行此操作?
补充一点,代理进程似乎对两个用户都运行得很好,但我有点模糊的是 gpg-preset-passphrase 是如何使用套接字的,如果它或者拒绝连接的代理S.gpg-agent
我也假设我不需要显式启动代理,但我想我会这样做,以便我可以在需要时设置任何值,例如 homedir。
gnupg - 我应该在哪里为 GnuPG 2.0 及更高版本指定 pinentry 程序?
我将介绍 git-crypt 或 git-secret 来加密 git 存储库中描述的凭据信息。
这就需要 GnuPG(GPG) 提供一种加密方式。我已经用自制软件安装了以下程序:
- gnupg
- gnupg2
- pinentry-mac
从 GnuPG 2.0 开始,无需单独安装 gpg-agent。
但是如何设置 pinentry-program 呢?我尝试在 gpg-agent.confg 中将 pinentry-mac 设置为 pinentry-program,就像我在以前的版本中所做的那样。它对我不起作用。
替换 gpg-agent.conf 的文件是什么文件,或者是否需要任何额外的过程,例如重新启动 gpg?
gnupg - 完全禁用所有用户的 gpg-agent 缓存
我想完全禁用 GPG 缓存。即,对文件进行对称加密,然后让它每次都要求输入密码。
具体来说,我正在使用 GPG 2.2.14 尝试执行以下操作:
我尝试添加一个~/.gnupg/gpg-agent.conf
withdefault-cache-ttl
和 max-cache 都设置为 1 但这似乎不起作用。我也尝试过加密,--no-symkey-cache
但这似乎并不能阻止密码缓存。两者结合起来也不会阻止缓存。在第一次尝试时,它会询问密码,然后将其缓存并且不再询问。
我希望对文件进行加密,并对所有用户(包括我自己和 root)进行nuked 和再也看不到密码。有人知道怎么做吗?
系统是在树莓派 4 上运行的 Raspbian Buster 10。
php - 集成 PHP、SSH 和 ssh-agent
我计划编写一个建立 SSH 连接的 PHP 脚本。我已经研究了如何做到这一点,这看起来是最有希望的解决方案:https ://github.com/phpseclib/phpseclib我唯一的问题是如何处理我的 SSH 密钥有密码的事实,我不想每次运行脚本时都必须输入它。对于 SSH 使用的每一天,我都会在后台运行 ssh-agent,它被配置为使用 pinentry。这样我就不必每次都输入密码了。关于如何让 PHP 和 ssh-agent 相互交谈的任何想法?我唯一的线索是 ssh-agent 设置了一个环境变量SSH_AUTH_SOCK
,指向一个套接字文件。
虽然 phpseclib 的文档解决了这个问题,但它的答案很愚蠢(只需将密码放入代码中):http://phpseclib.sourceforge.net/ssh/2.0/auth.html#encrsakey
更新:我更深入地研究了 phpseclib 并编写了我自己的简单包装类。但是,我无法通过 ssh-agent 或提供我的 RSA 密钥来登录。与我直接使用 ssh 命令登录的经验相反,只有基于密码的身份验证有效。这是我的代码:
和:
该类SSH2
有一个getErrors()
方法,不幸的是在我的情况下它没有记录任何内容。我不得不调试课程。我发现,无论是使用 ssh-agent 还是传入我的密钥,它总是会到达这个位置(https://github.com/phpseclib/phpseclib/blob/2.0.23/phpseclib/Net/SSH2.php#L2624):
显然返回的响应是 type NET_SSH2_MSG_USERAUTH_FAILURE
。我敢肯定,登录没有问题,因此根据代码中的注释,这意味着主机(数字海洋)必须使用多因素身份验证。这就是我难过的地方。我还缺少什么其他的身份验证方式?这就是我对 SSH 的理解失败的地方。