签名时 WSL1 中的 gpg 超时

签名时 WSL1 中的 gpg 超时

我是 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:[电子邮件保护]:删除键失败:超时

  • 我尝试gpggpg2
  • 我补充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

相关内容