web-dev-qa-db-fra.com

Comment utiliser GNUPG avec --Pasphrase?

Je veux écrire un script qui exécutera gpg un fichier appelé "fichier" avec le "test" de la phrase secrète.

Normalement, quand j'utilise gpg, je viens d'exécuter gpg -c file Et cela me demande la phrase secrète. Mais puisque je veux que ce script fasse tout seul, je voudrais fournir la passephrase dans le cadre de la commande.

Maintenant, quand j'essaie d'utiliser: gpg -c file --passphrase test, il génère:

utilisation: GPG [Options] --SymeMetric [Nom de fichier]

Quelles coutures comme il veut que j'utilise gpg --passphrase test --symmetric file. Mais si je fais cela, il apparaît une boîte de dialogue me demandant que la phrase secrète soit utilisée; ce qui n'est pas ce que je veux.

Comment puis-je installer les arguments correctement?

11
user339781

Dans GNUPG, les options doivent avoir précédé les commandes, donc le --passphrase L'option doit venir avant --symmetric.

En ce qui concerne la fenêtre d'entrée PIN, qui apparaît quand même (bien que vous utilisiez --passphrase), vous utilisez probablement déjà GNUPG 2, qui nécessite --batch à utiliser avec --passphrase. De la pages de l'homme:

--passphrase string
    Use string as the passphrase. This can only be used if only one
    passphrase is supplied. Obviously, this is of very questionable
    security on a multi-user system. Don't  use this option if you
    can avoid it.  Note that this passphrase is only used if the
    option --batch has also been given.  This is different from
    GnuPG version 1.x.

Sachez que sur des systèmes multi-utilisateurs, tous les autres utilisateurs pourront lire votre ligne de commande, ainsi que la phrase secrète tandis que GNUPG est exécutée. Mieux utiliser l'un des autres --passphrase-* Options plutôt à lire à partir d'un fichier ou d'un tuyau.

7
Jens Erat