web-dev-qa-db-fra.com

Comment automatiser un gpg?

J'utilise gpg dans le shell Bash sous Ubuntu 14.04. J'essaie d'automatiser la saisie du mot de passe lors du cryptage et du décryptage de gros morceaux de fichiers. J'ai une longue ficelle de

gpg -c Filename.doc 

mais pour chacune de ces lignes, un mot de passe est demandé. Comment résoudre ce problème (en termes simples, s'il vous plaît)?

1
Tom meteor

Si vous affichez la page de manuel de gpg, vous verrez qu'il existe des options de ligne de commande utiles:

--passphrase-file file lit la phrase secrète d'un fichier

--passphrase string utilise string comme phrase secrète

Vous voudrez également ajouter --batch, ce qui empêche gpg d'utiliser des commandes interactives, et --no-tty, ce qui permet de s'assurer que le terminal n'est pas '. t utilisé pour toute sortie.

N'oubliez pas que l'utilisation de ces options constitue un risque pour la sécurité. Si la phrase secrète est dans un fichier, un pirate informatique pourrait y accéder. Si la phrase secrète est fournie à un script, un pirate informatique peut l'intercepter de plusieurs manières. Alors, étudiez les implications pour la sécurité et n’utilisez pas ces options à la légère.

1
rclocher3

Bien qu'il soit possible d'automatiser le cryptage en insérant des chaînes de mots de passe en clair dans des fichiers, cela irait à l'encontre de l'objectif même de l'utilisation de GPG.

Pour protéger les données des compromis plutôt que de les transmettre à des tiers, chiffrez-les avec votre OWN clé publique. Cela permettra d'automatiser le chiffrement à l'aide d'un script non interactif, à savoir:

gpg --batch --yes --trust-model always -r $YOURGPGPUBKEYEMAILADDRESS -e ./file.txt

VEUILLEZ NOTER: Je télécharge ma PUBLIC clé sur le serveur public sur lequel je veux protéger les données, en gardant la clé PRIVATE à l'écart. Donc, pas de mots de passe ou même une clé privée à décrypter sur ce serveur public au risque de compromission.

Évidemment, si vous utilisez PAS avec votre propre clé publique, utilisez le commutateur --trust-model always avec précaution.

0
F1Linux