déchiffrer les gpg fichier externe à l'aide de la clé secrète
Je encryptd un fichier à l'aide de gpg
, maintenant, je veux décrypter le fichier.
Est-il un moyen de décrypter le fichier, sans avoir à l'importer le dossier secret?
Nous avons le secret de la clé dans un fichier appelé key.sec
; pouvons-nous transmettre le dossier secret de gpg
comme un paramètre (lors de l'exécution de la decrypt
commande à partir de la bash
ligne de commande) à utiliser lors de décrypter le fichier crypté? Ou doit-on importer la clé secrète puis déchiffrer les fichiers chiffrés?
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter la clé secrète d'un trousseau de clés. À partir de la
gpg(1)
documentation:Vous pourriez
--import --no-default-keyring --secret-keyring temporary
pour importer la clé, utilisez--secret-keyring temporary
lors de déchiffrer le contenu, puis de supprimer le~/.gnupg/temporary.gpg
fichier lorsque vous avez terminé. Mais c'est juste une façon de contourner.--secret-keyring
est obsolète et un no-op dans GnuPG 2.1. Il n'y a pas de secret porte-clés - clés privées sont stockées dans un répertoireprivate-keys-v1.d
qui est détenue et exploitée par lagpg-agent
.Vous devez importer la clé secrète pour l'utiliser, mais la manière dont les clés secrètes sont gérés par GnuPG version 2.x a changé. Il y a un
gpg-agent
démon qui gère les clés secrètes d'accès et son utilisation est obligatoire à partir de la version 2.1.Voici une manière qui vous pouvez rapidement créer un temporaire de porte-clés pour décrypter avec une clé secrète qui est contenue dans un fichier:
Si vous voulez nettoyer par la suite, un arrêt de l'agent et de supprimer le répertoire:
Il y avait une option
--secret-keyring
au sujet de laquelle le la documentation pour la version 2.1 a ceci à dire:La
private-keys-v1.d
répertoire (raite la--homedir
ou~/.gnupg
) est détenu et exploité par l'agent.L'objectif de l'OP Mohammed semble être de garder son PUBLIC et SECRET clé d'intervalle. Après tout, voulons-nous garder le Secret de la clé avec les données qu'elle a été utilisée pour chiffrer? Ainsi, Mohammed et 10,650+ d'autres (au moment où j'écris cela) sont intéressés à la façon dont il est possible. En effet, il est, ce est comment vous le faites:
Publiquement la face de l'hôte ne dispose que de deux touches: les Deux sont des Clés Publiques
Votre GPG clé Publique sert à chiffrer les données
Votre SSH clé Publique dans .ssh/authorized_keys pour faciliter des non-interactive connexions.
En aller-retour d'un fichier crypté à l'aide Publique-clé Secrète de séparation:
Le bash suivant extrait lorsqu'il est exécuté sur l'hôte avec l' Clé Secrète va chercher le fichier crypté à partir de l'hôte DMZ via scp, et injecter le gpg décrypté sortie standard à l'arrière sur l'hôte DMZ dans un fichier de sorte qu'il peut être lu/opéré. Ce code est testé et connu pour fonctionner correctement:
Noter que vous serez toujours invité pour un mot de passe une fois le déchiffrement commence. Mais une fois le mot de passe est fourni, le script continue et injecte le déchiffré gpg flux dans un fichier sur l'hôte DMZ.
Et n'oubliez pas de faire un
rm test-gpg.txt
du fichier décrypté une fois l'opération qui est nécessaire, c'est le contenu soit lisible a été achevé.Donc oui, très possible pour garder votre clé secrète en dehors de mise à disposition du public de l'hôte où le chiffrement se produit et votre clé secrète niché en toute sécurité dans un hôte à l'extérieur de la zone démilitarisée. HTH - Terrence Houlahan