ssh-agent
est très facile à utiliser, je le démarre et j'ajoute des clés en utilisant ssh-add keyfile
. Après avoir tué le processus ssh-agent
, tous les fichiers ont disparu.
Comment puis-je obtenir le même comportement gpg-agent
? Le programme le plus proche que j'ai trouvé était gpg-preset-passphrase
. Mais en regardant la page de manuel degpg-agent
, il semble qu'un répertoire soit créé pour stocker les clés privées.
Je peux me tromper, donc je me demande comment je peux configurer gpg-agent
de telle manière qu'aucun fichier / répertoire ne soit créé? Si ce n'est pas possible, d'autres suggestions pour faire un gpg-agent
travail comme ssh-agent
+ ssh-add
seraient également les bienvenues. Je ne recherche pas de solutions GUI comme Seahorse.
gpg-connect-agent
?gpg-preset-passphrase
. J'ai courugpg-connect-agent
, obtenu un shell et exécuté,setkey IDOFMYPRIVATEKEYHERE
suivi d'unpreset_passphrase
identifiant qui a abouti à "ERR 67108924 <GPG-agent> non pris en charge - pas de phrase de passe prédéfinie"Réponses:
J'ai décidé de revoir cela et j'ai découvert comment cela fonctionne. GPG utilise la terminologie "cache" pour stocker les mots de passe. Deux contraintes peuvent être imposées sur la durée maximale de stockage:
De plus, deux variantes existent pour les deux contraintes, une pour les clés GPG et une pour les clés SSH (si la prise en charge était activée).
Les entrées de page de manuel pertinentes de
gpg-agent(1)
:Les phrases secrètes sont toujours mises en cache (en mémoire, pas sur le disque! Vérifiées avec un dépôt git de
$HOME
), il n'y a donc pas de besoin explicitessh-add
. Par exemple, la signature de données factices déclenche déjà le cache:Pour apporter des modifications permanentes aux paramètres de cache de gpg-agent, éditez ~ / .gnupg / gpg-agent.conf` et ajoutez quelque chose comme:
J'ai essayé d'activer la prise en charge de l'agent SSH en spécifiant
enable-ssh-support
, mais cela fait que l'agent gpg vous demande une autre clé pour crypter la clé, puis stocke votre clé privée dans~/.gnupg/private-keys.d/
. Non, allez-y, je m'en tiendrai alors à une double approche ssh-agent / gpg-agent.Quelques conseils bonus:
max-cache-ttl-ssh
peut être spécifié lors de l'ajout de la clé, par exemple:ssh-add -t 600 ~/.ssh/id_rsa
Pour éviter de stocker la phrase secrète GPG dans l'agent, désactivez l'agent. Dans les versions plus récentes de GPG, l'option
--no-use-agent
est ignorée, mais vous pouvez empêcher l'utilisation de l'agent en effaçant la variable d'environnement associée. Quelques façons de le faire:la source
gpg-agent
actif? (Vérifiez la liste des processus, par exemple avecps u -C gpg-agent
). Le délai d'expiration du cache est-il correctement défini? Si vous l'utilisez pour la signature (par opposition à l'authentification (SSH)), l'ignore-cache-for-signing
option est-elle désactivée?