每次我签署某些内容时,它都会显示下一个错误:
\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我正在使用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) 我试图用命令签署我的提交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命令行来检查密码是否正确
我正在尝试设置gpg-agent转发,以便通过ssh 使用pass(https://www.passwordstore.org)。
本地和远程主机上的gpg版本2.2.9,均按以下说明进行安装:https : //gist.github.com/vt0r/a2f8c0bcb1400131ff51
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 -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) 我在 macOS Monterey 中使用GPG Suite,以保存 GPG 密钥的密码,以便我可以进行经过验证的 git 提交。
问题: 目前,每次我每天第一次进行验证提交(git commit -S -m“提交消息”)时,系统都会提示我输入 GPG 密钥的密码。
愿望: 理想情况下,我希望只能输入该密码一次,并且在余生中不再输入。
改进但不是解决方案: 我遵循了本指南,并设法让密码被记住一段时间。但是,您可以设置的最大时间仅为 99999 秒。
问题:
使用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) 我一直在使用gpg
加密.有人建议我应该使用gpg2
.当我去使用时gpg2
,我什么也做不了; 它会抱怨需要访问私钥,但我似乎无法在没有gpg-agent
运行的情况下使用私钥.
事实证明我故意禁用gpg-agent
(通过使用chmod -x /usr/bin/gpg-agent
); 这导致gpg2
功能非常有限,并向stderr抱怨.
我禁用的原因gpg-agent
是一系列事件.
首先,我将SSH连接到远程计算机,"代理"将打开一个弹出窗口,要求我解锁我的SSH密钥.我不喜欢这个,因为:
sudo
使用密码缓存,我可以在其配置中禁用它); 每次将它们用于任何正在使用它们的程序时,我总是希望为我的加密密钥输入密码.它原来是GNOME的核心机构,我不能卸载不卸载GNOME代理.所以我只是禁用它chmod -x /usr/bin/gnome-keyring*
.然后我发现SSH会回退到另一个代理,所以我也使用相同的方法禁用了它chmod -x /usr/bin/ssh-agent*
当我开始使用时gpg
,我发现它有一个类似的代理,就像我要问的那个.我出于同样的原因立即禁用了它; 我希望软件总是问我密码才能使用私钥.我不希望以任何理由缓存密码.
所以gpg2
看似要求 gpg-agent
,我想问:
gpg2
没有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) 我想在 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) 我正在尝试开始签署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)