Chiffrer/Déchiffrer un fichier avec GPG¶
Chiffrer un fichier (avec un environnement graphique) :¶
gpg -c monfichier.ext
un mot de passe ou phrase de passe sera demandée
Déchiffrer un fichier:¶
gpg monfichier.ext.gpg
le mot de passe ayant servi au chiffrement sera demandé
Chiffrer un fichier dans un terminal (mode non interactif):¶
gpg --yes --batch --passphrase=[Entrer la phrase de passe ou mot de passe] -c monfichier.ext
Déhiffrer un fichier dans un terminal (mode non interactif):¶
gpg --yes --batch --passphrase=[Entrer la phrase de passe ou mot de passe] monfichier.ext.gpg
Inspiré du site: https://www.if-not-true-then-false.com/2010/linux-encrypt-files-decrypt-files-gpg-interactive-non-interactive/
Pour aller plus loin: https://blog.doshi.re/2018/07/les-commandes-pratiques-de-gpg/#fn:clef-publique/
-
! Attention ! mettre un mot de passe dans bash reste dans l'historique de bash, il faudra veiller à supprimer l'historique de bash en remettant des zéros dans le fichier .bash_history:
cat /dev/null > ~/.bash_history
Chiffrer un fichier avec une paire de clé¶
gpg -e "monfichier.txt.gpg"
- L'identité (identifiant) sera demandé et ensuite le fichier sera chiffré !
Déchiffrer un fichier avec une paire de clé¶
gpg -d "monfichier.txt.gpg"
- La passphrase sera demandée !
Afin d'extraire le fichier vers son format d'origine il faudra saisir la commande:
gpg -d "monfichier.txt.gpg" > monfichier.txt
- La passphrase sera demandée !
Créer une paire de clé GPG¶
gpg --full-generate-key
Si on se trouve sur un serveur sans gui, il faudra utiliser l'option --pinentry-mode loopback, qui permettra de rentrer une passphrase dans le terminal plutôt que dans un outil graphique (gestionnaire de clé de Gnome,...)
gpg --pinentry-mode loopback --full-generate-key
- Choisir le premier choix RSA
- Préciser la taille de la clé; idéalement 4096
- Choisir si elle expire ou non
- Mettre son nom réel ainsi qu'une adresse email valide
- Mettre un commentaire (facultatif)
Patienter pendant la génération des clés
Inspiré de: https://help.github.com/en/articles/generating-a-new-gpg-key
Lister les clés privées et publiques présentes sur le système¶
Lister les clés publiques:¶
gpg --list-keys
Lister les clés privées:¶
gpg --list-secret-keys
Exporter les clés privées et publiques¶
Pour exporter la clé publique, on utilisera:¶
gpg --export "identifiant" > ma-clé-publique.key
- L'identifiant peut être l'uid de la liste des clés, ou bien l'adresse email, ou encore le nom réel donné à la création.
Pour exporter la clé privée, on utilisera:¶
gpg --export-secret-keys "identifiant" > ma-clé-privée.key
- L'identifiant peut être l'uid de la liste des clés, ou bien l'adresse email, ou encore le nom réel donné à la création.
Importer les clés privées et publiques¶
Pour importer la clé publique, on utilisera:¶
gpg --import < ma-clé-publique.key
Pour importer la clé privée, on utilisera:¶
gpg --import < ma-clé-privée.key
Inspiré de: http://www.koozie.org/blog/2014/07/migrating-gnupg-keys-from-one-computer-to-another/
Supprimer les clés privées et publiques¶
Pour supprimer la clé publique, on utilisera:¶
gpg --delete-keys "identifiant"
Pour supprimer la clé privée, on utilisera:¶
gpg --delete-secret-and-public-keys "identifiant"