--- categories: security title: Howto GnuPG ... * Documentation : [GnuPG](https://gnupg.org/) est une implémentation complète et libre du standard OpenPGP défini par la [RFC4880](https://www.ietf.org/rfc/rfc4880.txt). GnuPG permet le chiffrement et la signature de vos données ainsi que de vos communication. ## Installation GnuPG 1.4 et GnuPG 2.0 sont disponibles dans Debian Jessie, il faut bien faire attention a utiliser la version 2 de GnuPG. ~~~ apt install gnupg2 ~~~ *A partir de Debian Stretch la seule version disponible est la 2.1.* ## Configuration ### Agent GPG L'agent GPG garde en mémoire la passphrase de vos clés mais fait aussi office d'agent SSH, ce qui vous permet d'utiliser GPG pour vos connecter sur vos serveurs ! ~~~ apt install gnupg-agent pinentry-qt ~~~ ##### .gnupg/gpg-agent.conf ~~~ enable-ssh-support pinentry-program /usr/bin/pinentry-qt log-file $HOME/.gnupg/gpg-agent.log use-standard-socket ~~~ ##### .bashrc ou .zshrc ~~~ pgrep -u $USER gpg-agent > /dev/null if [ $? == 0 ]; then source ~/.gnupg/gpg-agent-$(hostname).env else gpg-agent --daemon > ~/.gnupg/gpg-agent-$(hostname).env eval $(<~/.gnupg/gpg-agent-$(hostname).env) fi export GPG_TTY=$(tty) gpg-connect-agent updatestartuptty /bye ~~~ ### Smartcard GPG et l'agent GPG peuvent être utilisés via des cartes a puces (smartcard) ce qui permet de sécuriser vos clés GPG sur des cartes ou des tokens USB dont elles ne peuvent être extraites, l'utilisation de smartcard nécessite les paquets suivants : ~~~ apt install opensc pcscd scdaemon ~~~ La carte a puce (ou le token USB) est ensuite accessible via la commande suivante : ~~~ gpg2 --card-edit ~~~ #### Quel choix de smartcard ? Evolix recommande la [Nitrokey Pro](https://shop.nitrokey.com/shop/product/nitrokey-pro-3) qui est un token USB Open Source et Open Hardware !