J'essaie de configurer le transfert d'agent gpg afin d'utiliser pass ( https://www.passwordstore.org ) via ssh.
gpg version 2.2.9 sur les hôtes locaux et distants, installé par des instructions: 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
Ainsi, le transfert de socket d'agent fonctionne, il semble qu'il y ait des problèmes avec le programme Pinentry. Impossible de trouver quoi que ce soit qui fonctionne pour moi dans google.
J'ai essayé d'ajouter pinentry-program /usr/bin/pinentry-tty
à gpg-agent.conf, nouvelle erreur:
gpg: public key decryption failed: Invalid IPC response
gpg: decryption failed: No secret key
Cela se produit lorsque GPG ne sait pas où lire l'entrée. Le configurer simplement pour rechercher l'entrée de tty (le terminal connecté à l'entrée standard) le corrige:
export GPG_TTY=$(tty)
Cette méthode ne fonctionne pas lorsque vous êtes à l'intérieur d'un conteneur LXC. Ajoutez plutôt ceci à ~/.gnupg/gpg.conf
:
use-agent
pinentry-mode loopback
Ajoutez ensuite ceci à ~/.gnupg/gpg-agent.conf
allow-loopback-pinentry
Redémarrez ensuite l'agent avec echo RELOADAGENT | gpg-connect-agent
.
( source )