NB : ici (dans le cadre d’automatisation avec des scripts bash) on envisage uniquement une utilisation de GnuPG avec chiffrement symétrique = avec une phrase de passe et non pas le système "classique" clé privée/publique.
Chiffrer un fichier avec un mot de passe :
Chiffrer le_fichier.txt en le_fichier.txt.gpg avec le mot de passe MonSuperPass_123 :
- gpg -c --yes --batch --passphrase=MonSuperPass+123 le_fichier.txt
Explication des options :
- c : chiffrement symétrique (= utilisation d’une passe-phrase)
- batch : mode non interactif (= ne rien demander : cf option "yes")
- yes : répondre "oui" aux éventuelles questions
Déchiffrer un fichier avec son mot de passe :
Déchiffrer le_fichier.txt.gpg avec le mot de passe MonSuperPass_123 :
- gpg --batch --passphrase=MonSuperPass+123 le_fichier.txt.gpg
cette commande va créé le fichier le_fichier.txt
One line pour déchiffrer puis re-chiffrer un ensemble de fichiers :
On veut améliorer la sécurité d’un ensemble de fichiers précédemment chiffrés avec le mot de passe le_passe en les re-chiffrant avec le mot de passe MonSuperPass_123
(ces fichiers sont tous situés dans le répertoire où est lancé la commande)
- for i in `ls *.gpg`;do echo $i;tmp=`echo $i | sed 's/.gpg/ /g'`;gpg --batch --passphrase=le_passe $i && gpg -c --yes --batch --passphrase=MonSuperPass_123 $tmp && rm $tmp; done
Références :
- Man page de la commande gpg : https://man.docs.euro-linux.com/EL%207/man-pages-fr/gpg.1.fr.html
- Le manuel officiel de GnuPG : https://www.gnupg.org/gph/fr/manual.html