标签: gpg-agent

gpg:读取符号链接“/proc/curproc/file”时出错:没有这样的文件或目录

每次我签署某些内容时,它都会显示下一个错误:

\n
\xe2\x9e\x9c  ~ echo "test" | gpg --clearsign\ngpg: error reading symlink \'/proc/curproc/file\': No such file or directory\ngpg: using "8D5850D90161A3C94B9985084F40757FE4E85476" as default secret key for signing\n-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\ntest\n-----BEGIN PGP SIGNATURE-----\n\niHUEARYKAB0WIQSNWFDZAWGjyUuZhQhPQHV/5OhUdgUCYXWvIwAKCRBPQHV/5OhU\ndgTpAQCvVt1M/nu5lIZ92fDO1FvNG1j/m3jLwuifaat4SqOVbgD+I2+Qu54blco6\n4YXzVYyr0xpSJYzh9a2m0WmrG08v4AI=\n=LZsF\n-----END PGP SIGNATURE-----\n
Run Code Online (Sandbox Code Playgroud)\n

我的~/.gnupg/gpg-agent.conf看起来很正常并且工作正常。

\n

有人知道这是怎么回事吗?

\n

gnupg gpg-agent

19
推荐指数
1
解决办法
2802
查看次数

在debian strech中添加ppa时,未发现S.gpg-agent.browser错误

我正在使用debian strech.我尝试用python支持为vim添加repostory,同时添加我遇到gpg-agent.browser not found error

sudo add-apt-repository ppa:pi-rho/dev
[sudo] password for sathish: 
Dev Packages
More info: https://launchpad.net/~pi-rho/+archive/ubuntu/dev
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keybox '/tmp/tmpxl_vk750/pubring.gpg' created
gpg: /tmp/tmpxl_vk750/trustdb.gpg: trustdb created
gpg: key CC892FC6779C27D7: public key "Launchpad PPA for pi-rho" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no valid OpenPGP data found.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in …
Run Code Online (Sandbox Code Playgroud)

linux debian gnupg gpg-agent

18
推荐指数
1
解决办法
1万
查看次数

使用Git签署提交不会要求我的密码

我试图用命令签署我的提交git commit -S但它失败而没有提示我的密码用于我的GPG密钥.

错误是:

error: gpg failed to sign the data
fatal: failed to write commit object
Run Code Online (Sandbox Code Playgroud)

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

gpg -o /dev/null --local-user MY_KEY_ID -as <(echo 1234) && echo "The correct passphrase was entered for this key"
Run Code Online (Sandbox Code Playgroud)

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

我希望Git每次我想签署提交或标签时都会提示我的密码.

在这个问题上找到了"解锁我的密钥"的命令:如何使用gpg命令行来检查密码是否正确

git sign gnupg gpg-agent

10
推荐指数
1
解决办法
1308
查看次数

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

输出量
gpg: public key is FED6243A3325C554
gpg: connection to agent is in restricted …
Run Code Online (Sandbox Code Playgroud)

gpg-agent

10
推荐指数
2
解决办法
2270
查看次数

GPG Suite 无限期记住密码

我在 macOS Monterey 中使用GPG Suite,以保存 GPG 密钥的密码,以便我可以进行经过验证的 git 提交。

问题: 目前,每次我每天第一次进行验证提交(git commit -S -m“提交消息”)时,系统都会提示我输入 GPG 密钥的密码。

愿望: 理想情况下,我希望只能输入该密码一次,并且在余生中不再输入。

改进但不是解决方案: 我遵循了本指南,并设法让密码被记住一段时间。但是,您可以设置的最大时间仅为 99999 秒。

问题:

  1. 有什么方法可以让 GPG Suite 记住我的 GPG 密码的时间超过 99999 秒?
  2. 除了 GPG Suite 之外,还有其他工具可以永远或至少在较长时间内记住我的 GPG 密码吗?如果是,我怎样才能在那里保存我的密码并使其尽可能长久地被记住?

passwords macos gnupg keychain gpg-agent

10
推荐指数
0
解决办法
807
查看次数

无法提交到 git,并出现 gpg 密钥错误

使用git version 2.20.1官方指南,我运行以下命令来生成 pgp 密钥

$ gpg --full-generate-key
...
$ gpg --list-secret-keys --keyid-format LONG
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
/home/mahmood/.gnupg/pubring.kbx
--------------------------------
sec   rsa4096/CFEFE6D58A392624 2020-09-08 [SC]
      26XX594XXXE2BAXXXE40AXXXCFXXX6D5XXXXX624
uid                 [ultimate] mahmood <EMAIL>
ssb   rsa4096/3B138A448B277FD9 2020-09-08 [E]
Run Code Online (Sandbox Code Playgroud)

现在我可以使用以下命令查看公钥:

$ gpg --armor --export CFEFE6D58A392624
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBF9XdKoBEACyQjVUlBYjOLSqv7YRIIq0+iJ9A0UzkItUoWBnDrHmTdnH+UeK
...
=WCOk
-----END PGP PUBLIC KEY BLOCK----- …
Run Code Online (Sandbox Code Playgroud)

git gnupg gpg-agent

9
推荐指数
1
解决办法
5359
查看次数

gpg-agent在gpg2中的用途

我一直在使用gpg加密.有人建议我应该使用gpg2.当我去使用时gpg2,我什么也做不了; 它会抱怨需要访问私钥,但我似乎无法在没有gpg-agent运行的情况下使用私钥.

事实证明我故意禁用gpg-agent(通过使用chmod -x /usr/bin/gpg-agent); 这导致gpg2功能非常有限,并向stderr抱怨.

我禁用的原因gpg-agent是一系列事件.

首先,我将SSH连接到远程计算机,"代理"将打开一个弹出窗口,要求我解锁我的SSH密钥.我不喜欢这个,因为:

  • 屏幕上的弹出窗口会中断我的工作流程
  • 我的屏幕上的弹出窗口不太可能被注意到,因此它会显示连接停止而不是查询以解锁加密密钥
  • 当我绝对不​​希望我的密码被缓存时,代理似乎缓存了我的密码(很像sudo使用密码缓存,我可以在其配置中禁用它); 每次将它们用于任何正在使用它们的程序时,我总是希望为我的加密密钥输入密码.
  • 弹出窗口似乎由一个单独的进程拥有,而我希望使用密钥特定进程查询密码短语(即使它是一个执行实际查询的库); 因为我使用命令行工具来完成大部分活动,这意味着GUI应用程序并不理想,因为我所做的一切都不能访问X11
  • 在后台自动启动一个单独的进程会删除"一个命令,一个进程"的概念,特别是如果该后台进程在原始命令退出后仍然存在

它原来是GNOME的核心机构,我不能卸载不卸载GNOME代理.所以我只是禁用它chmod -x /usr/bin/gnome-keyring*.然后我发现SSH会回退到另一个代理,所以我也使用相同的方法禁用了它chmod -x /usr/bin/ssh-agent*

当我开始使用时gpg,我发现它有一个类似的代理,就像我要问的那个.我出于同样的原因立即禁用了它; 我希望软件总是问我密码才能使用私钥.我不希望以任何理由缓存密码.

所以gpg2看似要求 gpg-agent,我想问:

  • 我是否过于偏执使用密码缓存?我很想看到或指出对它的讨论.
  • 是否有一种最佳实践可以更好地避免意外启用缓存密码短语?
  • 有没有办法在gpg2没有gpg-agent运行的情况下使用?
  • 鉴于代理是预期能够回答查询的守护进程,是什么阻止在本地计算机上运行的另一个用户或服务能够访问我的缓存或存储的凭据?

security passphrase gnupg gpg-agent

8
推荐指数
1
解决办法
3718
查看次数

Ubuntu 18.04添加gpg密钥失败,找不到gpg-agent错误

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

root@77ff14f29cab:/# apt-key add apt-key.gpg 
gpg: failed to start agent '/usr/bin/gpg-agent': No such file or directory
gpg: can't connect to the agent: No such file or directory
gpg: failed to start agent '/usr/bin/gpg-agent': No such file or directory
gpg: can't connect to the agent: No such file or directory
Run Code Online (Sandbox Code Playgroud)

gpg-agent ubuntu-18.04

7
推荐指数
1
解决办法
6702
查看次数

Windows 上使用 Git 的 GPG 代理出现 IPC 错误

我想在 Windows 上不安装 Gpg4win 的情况下使用 GPG,因为Windows 版的 Git包含了 GPG 的二进制文件,所以我想使用它而不是安装额外的应用程序。

但是,当我设置GPG(例如添加路径等)时,我遇到了以下错误:

C:\Users\me> gpgconf --launch gpg-agent
gpgconf: error running '/usr/bin/gpg-connect-agent': exit status 1
gpgconf: error running '/usr/bin/gpg-connect-agent NOP': General error
Run Code Online (Sandbox Code Playgroud)

gpg-connect-agent

C:\Users\me> gpg-connect-agent /bye
gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent'
gpg-connect-agent: waiting for the agent to come up ... (5s)
gpg-connect-agent: waiting for the agent to come up ... (4s)
gpg-connect-agent: waiting for the agent to come up ... (3s)
gpg-connect-agent: waiting for the agent to …
Run Code Online (Sandbox Code Playgroud)

windows git gnupg git-bash gpg-agent

7
推荐指数
2
解决办法
3976
查看次数

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

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

PS> git commit -m "testing" --allow-empty

You need a passphrase to unlock the secret key for
user: "keybase.io/anthonymastrean <anthonymastrean@keybase.io>"
2048-bit RSA key, ID AD9184C0, created 2015-04-14 (main key ID 293FEB8B)

Enter passphrase:
Run Code Online (Sandbox Code Playgroud)

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

但是,我无法弄清楚如何让gpg-agent开始缓存我的密码.我每次提交时都会被提示.

gpg-agent表示正在运行

PS> gpg-agent
gpg-agent[4644]: gpg-agent running and available
Run Code Online (Sandbox Code Playgroud)

我有这个gpg-connect-agent的东西,但我不知道该怎么做.

PS> gpg-connect-agent.exe
> help
# NOP
# CANCEL
# OPTION
# BYE
# AUTH
# RESET
# END
# HELP
# GETEVENTCOUNTER
# ISTRUSTED <hexstring_with_fingerprint>
# HAVEKEY …
Run Code Online (Sandbox Code Playgroud)

windows git gnupg gpg-agent

6
推荐指数
3
解决办法
3821
查看次数