GPG 签名不使用来自 gpg-connect-agent 的密钥
GPG sign not using keys from gpg-connect-agent
我正在尝试使用 Ubuntu 20.04 将 PGP 密钥从 Windows 10 共享到 WSL 2。
我正在使用这个工具:https://github.com/BlackReloaded/wsl2-ssh-pageant
我目前的情况是 gpg-connect-agent 'keyinfo --list' /bye
列出了我所有的 Windows GPG 密钥,但是 gpg --list-keys
返回了一个空列表。
$ gpg-connect-agent 'keyinfo --list' /bye
S KEYINFO 9BD09C... D - - - P - - -
S KEYINFO BBF58D... D - - - P - - -
S KEYINFO D62ED0... D - - - P - - -
OK
签名尝试失败 'No secret key',但我认为这是预料之中的,因为 gpg --list-keys 是空的:echo "test" | gpg --sign -u mail@none.com
任何线索为什么会发生这种情况?
gpg和gpg-connect-agent有什么关系?
设置:
- 使用“wsl --shutdown”开始新的 WSL 2 会话
- 删除 'S.gpg-agent' 文件
- 使用
setsid socat UNIX-LISTEN:$GPG_AGENT_SOCK,fork EXEC:"${WSL_TOOLS}/wsl2-ssh-pageant.exe --gpg S.gpg-agent",nofork &
创建管道
您需要将 public 密钥导入 WSL。
如此处所述https://wiki.gnupg.org/AgentForwarding:
It is important to note that to work properly GnuPG on the remote system still needs your public keys.
步骤:
- 在 Windows 上,使用
gpg --export -a 'mail@none.com' > public.key
; 导出您的 public 密钥
- 在 WSL 上,使用
gpg --import public.key
导入您的 public 密钥。
我正在尝试使用 Ubuntu 20.04 将 PGP 密钥从 Windows 10 共享到 WSL 2。
我正在使用这个工具:https://github.com/BlackReloaded/wsl2-ssh-pageant
我目前的情况是 gpg-connect-agent 'keyinfo --list' /bye
列出了我所有的 Windows GPG 密钥,但是 gpg --list-keys
返回了一个空列表。
$ gpg-connect-agent 'keyinfo --list' /bye
S KEYINFO 9BD09C... D - - - P - - -
S KEYINFO BBF58D... D - - - P - - -
S KEYINFO D62ED0... D - - - P - - -
OK
签名尝试失败 'No secret key',但我认为这是预料之中的,因为 gpg --list-keys 是空的:echo "test" | gpg --sign -u mail@none.com
任何线索为什么会发生这种情况?
gpg和gpg-connect-agent有什么关系?
设置:
- 使用“wsl --shutdown”开始新的 WSL 2 会话
- 删除 'S.gpg-agent' 文件
- 使用
setsid socat UNIX-LISTEN:$GPG_AGENT_SOCK,fork EXEC:"${WSL_TOOLS}/wsl2-ssh-pageant.exe --gpg S.gpg-agent",nofork &
创建管道
您需要将 public 密钥导入 WSL。
如此处所述https://wiki.gnupg.org/AgentForwarding:
It is important to note that to work properly GnuPG on the remote system still needs your public keys.
步骤:
- 在 Windows 上,使用
gpg --export -a 'mail@none.com' > public.key
; 导出您的 public 密钥
- 在 WSL 上,使用
gpg --import public.key
导入您的 public 密钥。