A gpg.conf fájlomban van egy sor, amely a következőt írja: use-agent
.
Értem, hogy ez utal a gpg-agentre, amely egy démon. A man oldal kijelenti: “A gpg-agent egy démon, amely a titkos (privát) kulcsokat bármilyen protokolltól függetlenül kezeli. Háttérként használják a gpg és a gpgsm, valamint néhány egyéb segédprogram számára.”
Meg tudja valaki magyarázni, hogy ez mit jelent a gpg kontextusában? Mi értelme van a gpg-agent-nek?
Jelenleg GPG 1.4-esem van.
- Hogyan állapíthatom meg, hogy az ügynök fut-e? Még azt sem tudom, hogy a gpg-agent telepítve van-e az alap GPG 1.4 csomaggal.
- Hogyan tudom elindítani, ha nem fut?
- Hogyan tudom állítsd le, ha fut?
Válasz
A Gpg-agent a háttérben futó program (egy démon ) és tárolja a GPG titkos kulcsokat a memóriában. Ha egy GPG folyamatnak szüksége van a kulcsra, akkor egy socket és kéri a kulcsot. Ha az ügynökfolyamat rendelkezik kulccsal, akkor megadja neki a gpg-t. Ha nem, akkor megpróbálja betölteni a titkosított kulcsot a kulcstartóból, és kéri a kulcs jelszavát. Miután az ügynök megszerezte a visszafejtett kulcsot, továbbítja azt a gpg folyamatnak. A GPG kulcsok mellett a Gpg-agent hasonló módon tárolhatja az SSH kulcsokat és átadhatja azokat SSH folyamatoknak, például a ssh-agent
program, amely az SSH-val érkezik.
A kulcsügynök használatának fő célja, hogy ne írja be a jelszavát minden egyes alkalommal, amikor a kulcsot használja. Az ügynök egyik pillanatról a másikra a memóriában tartja a kulcsot. Maga a GPG nem tudja ezt megtenni, mert a folyamat befejeződik, miután elvégezte a feladatát.
Egy másik dolog, amit egy kulcsügynök megtehet, az az, hogy egy távoli gépen futó GPG-nek lehetővé teszi a kulcsok megszerzését a helyi ügynökben ( amely egy helyi fájlból töltheti be őket, és megkérdezheti a jelszavát). A Gpg-agent “ezt még nem tudja megtenni, ez egy tervezett szolgáltatás . Az SSH-nak nagyon sokáig volt ügynök-továbbítása. (Ez oka annak, hogy ne használja az gpg-agentet az SSH kulcsokhoz.)
A GPG 1.x vagy a 2.0.x tudja, hogy az ügynök fut, mert a GPG_AGENT_INFO
változó be van állítva. tartalmazza az ügynökkel való kommunikációhoz szükséges foglalat helyét, valamint az ügynök folyamatazonosítóját. A GPG 2.1 mindig az ~/.gnupg
helyre helyezi az ügynök foglalatot. A GPG 2.x mindig elindít egy ügynököt folyamat, ha az egyik nem fut.
Az ügynököt egyszerűen a gpg-agent
futtatásával indíthatja el. Ha az ügynök folyamatát meg szeretné tartani a munkamenet részeként, akkor a munkamenet-kezelő meghívását lecserélheti gpg-agent my-session-manager
; egyes disztribúciók ezt automatikusan beállítják. A GPG automatikusan elindítja az ügynököt, és a GPG 2.1 ráadásul egy futó ügynököt is talál, anélkül, hogy környezeti változóra lenne szüksége, ezért nem kell így elindítania, hacsak nem a GPG régebbi verzióját használja, vagy ha az ügynököt más típusú tárolásra használja. kulcsok, például SSH.
Az ügynököket az gpg-connect-agent
shell parancs. Küldje el a kill
parancsot a következő címre: ölje meg az ügynök folyamatot (vagy küldjön neki jelet).
A Gpg-agent magával a GPG-vel szállít. Néhány disztribúció külön csomagolja.
Megjegyzések
- " Ha egy GPG folyamatnak szüksége van a kulcsra, egy foglalaton keresztül felveszi a kapcsolatot a futó gpg-agent programmal, és kéri a kulcsot. Ha az ügynök folyamatának van kulcsa, gpg-nek adja. " Kissé félrevezető. Az ügynök nem ad kulcsot az ügyfélfolyamathoz, hanem tökéletesíti orms műveleteket a kulcs segítségével, az ügyfél folyamat nevében. (Az ügyfél biztosít az ügynöknek valamit aláírásra, titkosításra vagy visszafejtésre, és az ügynök ezt megteszi.) Ügynök használatakor az SSH és a GPG kliens szoftver soha nem kap hozzáférést a tényleges kulcshoz.
- " A Gpg-agent ' még nem tudja ezt megtenni, ez egy tervezett szolgáltatás. Az SSH-nak nagyon sokáig volt ügynök-továbbítása. (Ez az oka annak, hogy ne használjuk a gpg-agent-et az SSH-kulcsokhoz.) " Nem egészen igaz. A gpg-agent jól működik az SSH ügynök továbbítással. Minden nap használom. Az SSH kliens kezeli az átirányítást, a gpg-agent nem igazán vesz részt ebben. Ami nem támogatott, az az, hogy a GPG maga távolról beszéljen egy ügynökkel.