HowtoGPG : Documentation du transfert d’agent
This commit is contained in:
parent
4c28568ace
commit
40934adc61
50
HowtoGPG.md
50
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 !
|
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 : <https://wiki.gnupg.org/AgentForwarding>
|
||||||
|
|
||||||
|
Sur la machine locale (qui a accès à la clef privée), récupérer le nom de la `<extra_socket_locale>`.
|
||||||
|
|
||||||
|
~~~
|
||||||
|
$ gpgconf --list-dir agent-extra-socket
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Sur le serveur distant, récupérer le nom de la `<socket_distante>`.
|
||||||
|
|
||||||
|
~~~
|
||||||
|
$ 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 <socket_distante> <extra_socket_locale>` à ~/.ssh/config.
|
||||||
|
|
||||||
|
~~~
|
||||||
|
Host tunnel-gpg
|
||||||
|
HostName serveur.example.net
|
||||||
|
RemoteForward <socket_distante> <extra_socket_locale>
|
||||||
|
~~~
|
||||||
|
|
||||||
|
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 <identifiant_long_de_la_clef> > 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
|
## 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.
|
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.
|
||||||
|
|
Loading…
Reference in a new issue