Je cours Gentoo Hardened avec le kernel 4.1.7-hardened-r1 et j'essaye de chiffrer un file en utilisant GPG à partir d'une session shell ouverte à partir de SSH et avec la variable DISPLAY
désactivée afin d'utiliser pinentry-curses pour l'invite de mot de passe. En utilisant gpg -o file.gpg --symmesortingc file
je peux crypter très bien. Utilisation du pv file | gpg -o file.gpg --symmesortingc
pv file | gpg -o file.gpg --symmesortingc
J'ai le message d'erreur suivant:
gpg-agent[30745]: command get_passphrase failed: Inappropriate ioctl for device
Vous devez définir votre variable GPG_TTY pour qu'elle fonctionne, comme dans ce document :
GPG_TTY=$(tty) export GPG_TTY
Ces deux lignes sont censées être dans votre .bashrc
(en supposant bash), donc elles sont exécutées à chaque fois que vous ouvrez une nouvelle session de terminal.
Il existe cependant une autre solution: dans bash, vous pouvez exécuter votre pv
et prétendre que c'est un file, en utilisant la substitution de process:
gpg -o file.gpg --symmesortingc <(pv file)
En tant que tel, il pourrait ne pas être une bonne idée de mettre les choses dans les programmes qui attendent des inputs supplémentaires. Cela peut fonctionner différemment que prévu.