diff --git a/HowtoGPG.md b/HowtoGPG.md index d08efd60..f5b511a2 100644 --- a/HowtoGPG.md +++ b/HowtoGPG.md @@ -111,6 +111,56 @@ $ gpg2 --card-edit Evolix recommande la [Nitrokey Start](https://shop.nitrokey.com/shop/product/nitrokey-start-6) qui est un token USB Open Source et Open Hardware ! +### Signer à distance (Agent forwarding) + +Il est possible d’utiliser GnuPG sur un serveur distant sans y stocker de clef privée, en transférant l’agent GPG par la connexion SSH. + +* Documentation : + +Sur la machine locale (qui a accès à la clef privée), récupérer le nom de la ``. + +~~~ +$ gpgconf --list-dir agent-extra-socket +~~~ + +Sur le serveur distant, récupérer le nom de la ``. + +~~~ +$ gpgconf --list-dir agent-socket +~~~ + +Le transfert distant de socket peut se faire avec l’option `-R` de `ssh`, ou simplement en ajoutant la ligne `RemoteForward ` à ~/.ssh/config. + +~~~ +Host tunnel-gpg +HostName serveur.example.net +RemoteForward +~~~ + +Sur l’hôte distant, la configuration suivante (dans `/etc/ssh/sshd_config.d/gpg-agent.conf` par exemple) permet de supprimer automatiquement les sockets bloquées). + +~~~ +StreamLocalBindUnlink yes +~~~ + +Pour pouvoir utiliser gpg sur l’hôte distant sans clef privée, il faut tout de même que la clef publique soit présente dans le trousseau. + +Sur la machine locale, exporter la clef publique. +~~~ +$ gpg --armor --export > clef.asc +$ rsync -avP clef.asc tunnel-gpg:. +~~~ + +Sur la machine distante, importer la clef publique. + +~~~ +$ gpg --import clef.asc +~~~ + +Une fois connecté à l’hôte, l’utilisation de gpg sur l’hôte distant va maintenant s’appuyer sur le l’agent GPG de la machine locale : si la phrase secrète n’est pas déjà en cache, ou si son utilisation nécessite une carte à puce, elle sera demandée. + +**Remarque** : il est nécessaire d’avoir une configuration graphique pour pinentry sur l’hôte local (ça ne fonctionne pas avec pinentry-tty par exemple). + ## Organiser une KSP Une KSP (Key Signing Party) est un évènement où l'on vérifie l'identité des personnes afin de signer leurs clés et étendre la toile de confiance PGP. @@ -158,4 +208,4 @@ $ git clone https://github.com/FOSDEM/keysigning.git fosdem-tools $ cd ~/fosdem-tools/ $ ln -s ~/keys/votreVHOST/keys . $ bin/generate-keylist.sh -~~~ \ No newline at end of file +~~~