我正在尝试设置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 mode
gpg: using subkey FED6243A3325C554 instead of primary key 9E2ED69A02554504
gpg: using subkey FED6243A3325C554 instead of primary key 9E2ED69A02554504
gpg: encrypted with 2048-bit RSA key, ID FED6243A3325C554, created 2018-07-23
"mickey"
gpg: public key decryption failed: Inappropriate ioctl for device
gpg: decryption failed: No secret key
Run Code Online (Sandbox Code Playgroud)
因此,代理套接字转发正在工作,似乎pinentry程序存在一些问题。在Google中找不到对我有用的任何内容。
尝试添加pinentry-program /usr/bin/pinentry-tty到gpg-agent.conf中,出现新错误:
gpg: public key decryption failed: Invalid IPC response
gpg: decryption failed: No secret key
Run Code Online (Sandbox Code Playgroud)
Gai*_*aia 17
当您在 LXC 容器内时,此方法不起作用。相反,将其添加到~/.gnupg/gpg.conf:
use-agent
pinentry-mode loopback
Run Code Online (Sandbox Code Playgroud)
然后将此添加到 ~/.gnupg/gpg-agent.conf
allow-loopback-pinentry
Run Code Online (Sandbox Code Playgroud)
然后用 重新启动代理echo RELOADAGENT | gpg-connect-agent。
(来源)
use*_*267 12
当GPG混淆从何处读取输入时,会发生这种情况。只需对其进行配置以从tty(连接到标准输入的终端)中寻找输入即可对其进行修复:
export GPG_TTY=$(tty)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2270 次 |
| 最近记录: |