我是 GPG 密钥的新手。我在 WSL 中创建了两个密钥来签署我的 git 提交。
但是,我无法使用这些键,因为所有签名命令都会超时。
gpg-agent
gpg-agent[2416]: gpg-agent 正在运行且可用
echo "test" | gpg2 --clearsign
-----开始 PGP 签名消息-----哈希:SHA512
测试 gpg:签名失败:超时 gpg:[stdin]:清除签名失败:超时
gpg2 -K
输出:
/home/ME/.gnupg/pubring.kbx
-----------------------------
sec rsa4096 2022-01-06 [SC] [expires: 2022-01-07]
...
uid [ultimate] MY NAME <[email protected]>
ssb rsa4096 2022-01-06 [E] [expires: 2022-01-07]
sec rsa4096 2022-01-06 [SC] [expires: 2023-01-06]
...
uid [ultimate] MY NAME <[email protected]>
ssb rsa4096 2022-01-06 [E] [expires: 2023-01-06]
删除个人 GPG 密钥也超时:
gpg --delete-secret-keys [email protected]
gpg:删除密钥失败:超时 gpg:删除秘密子密钥失败:超时 gpg:[电子邮件保护]:删除键失败:超时
- 我尝试
gpg
过gpg2
- 我补充
export GPG_TTY=$(tty)
说~/.bashrc
- 我尝试过
pinentry-tty
环境:
- WSL1
- Ubuntu 18.04.6 LTS
答案1
重新启动 Windows 后,超时问题消失。
我做了许多事情,但我不能说其中是否有任何一件事导致超时消失,而不仅仅是重新启动:
- 在 Windows 中禁用 IPv6
sudo update-alternatives --config pinentry
> Choice 3 (tty)
unset DISPLAY
gpg-connect-agent reloadagent /bye
添加bashrc
gpg-connect-agent updatestartuptty /bye >/dev/null
sudo apt install gnupg2
sudo apt-get install -y pinentry-tty